में निजी कन्स्ट्रक्टर का दायरा यह प्रश्न की तुलना में पहेली से अधिक है। मैं निम्नलिखित कोड है:नेस्टेड कक्षा
public class PrivateBaseConstructor {
public static class BaseClass {
private BaseClass() {
}
}
public static class DerivedClass extends BaseClass {
public DerivedClass() {
super(); // 1*
}
}
}
यहाँ super();
1 * पर के लिए कॉल घटना की अनुमति दी है, हालांकि आधार वर्ग निर्माता private
है। हम एक ही पैकेज में अलग वर्ग के रूप में कक्षाएं लिखते हैं:
BClass.java
public class BClass {
private BClass() {
}
}
DClass.java
public class DClass extends BClass {
public DClass() {
super(); // 2*
}
संकलक ठीक ही आधार वर्ग निर्माता के बाद से 2 * पर त्रुटि देता दिखाई नहीं देता है।
संकलक मेरे पहले परिदृश्य में त्रुटि क्यों नहीं फेंकता है जब दोनों वर्गों को एक वर्ग के भीतर स्थैतिक घोषित किया जाता है?
+1 सटीक संदर्भ के लिए! – Anshu