Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में कंस्ट्रक्टर फाइनल क्यों नहीं हो सकता?

जब भी आप किसी विधि को अंतिम बनाते हैं, तो आप ओवरराइड . नहीं कर सकते हैं यह। यानी आप उपवर्ग से सुपरक्लास की अंतिम विधि को कार्यान्वयन प्रदान नहीं कर सकते।

यानी एक विधि को अंतिम बनाने का उद्देश्य बाहर से एक विधि के संशोधन को रोकना है (बाल वर्ग)।

विरासत में जब भी आप कक्षा का विस्तार करते हैं। चाइल्ड क्लास को कंस्ट्रक्टर को छोड़कर सुपरक्लास के सभी सदस्य विरासत में मिलते हैं।

दूसरे शब्दों में, कंस्ट्रक्टर को जावा में इनहेरिट नहीं किया जा सकता है इसलिए आप ओवरराइड . नहीं कर सकते हैं निर्माणकर्ता।

इसलिए, कंस्ट्रक्टर्स के सामने फाइनल लिखने का कोई मतलब नहीं है। इसलिए, जावा कंस्ट्रक्टर के सामने फाइनल कीवर्ड की अनुमति नहीं देता है।

यदि आप कोशिश करते हैं, तो एक कंस्ट्रक्टर को अंतिम बनाएं, "संशोधक फाइनल की अनुमति नहीं है" कहते हुए एक संकलन समय त्रुटि उत्पन्न होगी।

उदाहरण

निम्नलिखित जावा प्रोग्राम में, छात्र वर्ग में एक कंस्ट्रक्टर होता है जो अंतिम होता है।

public class Student {
   public final String name;
   public final int age;
   public final Student() {
      this.name = "Raju";
      this.age = 20;
   }
   public void display() {
      System.out.println("Name of the Student: "+this.name );
      System.out.println("Age of the Student: "+this.age );
   }
   public static void main(String args[]) {
      new Student().display();
   }
}

संकलन समय त्रुटि

संकलन करने पर, उपरोक्त प्रोग्राम निम्न त्रुटि उत्पन्न करता है।

Student.java:6: error: modifier final not allowed here
   public final Student(){
                ^
1 error

  1. जावा में अंतिम कक्षा

    किसी वर्ग को अंतिम घोषित करने का मुख्य उद्देश्य वर्ग को उपवर्ग होने से रोकना है। यदि किसी वर्ग को अंतिम के रूप में चिह्नित किया जाता है तो कोई भी वर्ग अंतिम वर्ग से किसी भी विशेषता को प्राप्त नहीं कर सकता है। public final class Test {    // body of class }

  1. जावा में अंतिम चर

    एक अंतिम चर को स्पष्ट रूप से केवल एक बार प्रारंभ किया जा सकता है। किसी अन्य ऑब्जेक्ट को संदर्भित करने के लिए अंतिम घोषित किए गए संदर्भ चर को कभी भी पुन:असाइन नहीं किया जा सकता है। हालांकि, ऑब्जेक्ट के भीतर डेटा बदला जा सकता है। तो, वस्तु की स्थिति को बदला जा सकता है लेकिन संदर्भ को नहीं। चरों के सा

  1. जावा में अंतिम कीवर्ड

    final जावा तत्वों के लिए एक गैर-पहुंच संशोधक है। अंतिम संशोधक का उपयोग कक्षाओं, विधियों और चर के कार्यान्वयन को अंतिम रूप देने के लिए किया जाता है। अंतिम चर एक अंतिम चर को स्पष्ट रूप से केवल एक बार प्रारंभ किया जा सकता है। अंतिम घोषित किए गए संदर्भ चर को किसी भिन्न वस्तु को संदर्भित करने के लिए कभी