final कीवर्ड ओवरराइडिंग को रोकता है। चूंकि कंस्ट्रक्टर इनहेरिट नहीं होते, उन्हें ओवरराइड नहीं किया जा सकता, इसलिए कंस्ट्रक्टर पर final का कोई अर्थ नहीं है।
त्रुटि उदाहरण
public class Student {
public final Student() { // संकलन त्रुटि
this.name = "Raju";
}
}संकलन त्रुटि
Student.java:6: error: modifier final not allowed here
public final Student(){
^व्याख्या
- सबक्लास सुपरक्लास कंस्ट्रक्टर को इनहेरिट नहीं करते; वे अपने खुद के परिभाषित करते हैं।
super()कॉल सुपरक्लास कंस्ट्रक्टर को आह्वान करता है, ओवरराइड नहीं करता।- इसलिए,
finalकंस्ट्रक्टर पर लागू नहीं होता।
अन्य अमान्य मॉडिफायर
कंस्ट्रक्टर abstract, static, synchronized, native, या strictfp भी नहीं हो सकते।