में निजी कन्स्ट्रक्टर उपयोग यदि कोई निजी कन्स्ट्रक्टर है, तो क्या JVM सुपर कन्स्ट्रक्टर को कॉल करता है?कक्षा
मैं उस निजी निर्माता में super()
कॉल का जिक्र कर रहा हूं।
class Alpha {
static String s="";
protected Alpha(){
s+="alpha";
}
}
class SubAlpha extends Alpha{
private SubAlpha(){
s+="sub";
}
}
class SubSubAlpha extends Alpha{
private SubSubAlpha(){
s+="subsubAlpha";
}
public static void main(String[] args){
new SubSubAlpha();
System.out.print(s);
}
}
यहां मुझे कोई संकलन त्रुटि नहीं मिली है। यहां SubSubAlpha
कक्षा में निजी कन्स्ट्रक्टर है। क्या वह कंपाइलर super()
कॉल करता है, यदि ऐसा है, तो SubAlpha
कक्षा में क्या होता है। यहां तक कि निजी कन्स्ट्रक्टर भी है। और यदि इसका उपयोग नहीं किया जाता है तो विरासत का पेड़ शीर्ष तक कैसे जारी रहता है।
(यदि सुपर वर्ग 'कोई आर्ग निर्माता है निजी (और व्युत्पन्न वर्ग:
इस कार्यक्रम के लिए उत्पादन स्वत: कॉल से पता चलता एक ही बाहरी वर्ग में नहीं है; या डिफ़ॉल्ट पहुंच है और व्युत्पन्न कक्षा एक ही पैकेज में नहीं है; या बस गायब है) तो यदि व्युत्पन्न वर्ग के रचनाकारों में एक स्पष्ट 'सुपर() 'या' यह() 'गायब है, तो वे संकलन करने में असफल हो जाएंगे। 'क्लास बेस {निजी बेस() {} } वर्ग व्युत्पन्न आधार {} ') –
क्या आपका मतलब है कि 'वर्ग सबसुबला अल्फाफा' बढ़ाता है? –