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

Java क्लास एक साथ abstract और final क्यों नहीं हो सकती?

abstract और final परस्पर विरोधी हैं:

  • abstract क्लास: विस्तारित की जानी चाहिए (सबक्लास द्वारा कार्यान्वित)।
  • final क्लास: विस्तारित नहीं की जा सकती।

एक क्लास दोनों नहीं हो सकती क्योंकि आवश्यकताएं विरोधाभासी हैं।

उदाहरण: त्रुटि

public final abstract class Example {
    public void sample() { }
}

संकलन त्रुटि

Example.java:1: error: illegal combination of modifiers: abstract and final
public final abstract class Example {
^

संबंधित नियम

  • abstract मेथड final नहीं हो सकते (ओवरराइड किए जाने चाहिए)।
  • final मेथड abstract नहीं हो सकते (ओवरराइड नहीं किए जा सकते)।
  • एक क्लास abstract हो सकती है बिना किसी एब्स्ट्रैक्ट मेथड के (इंस्टेंशिएशन रोकने के लिए)।
  1. - Java में String क्लास इम्यूटेबल या final क्यों है?

    स्ट्रिंग इम्यूटेबल (immutable) का अर्थ है कि हम ऑब्जेक्ट को स्वयं नहीं बदल सकते, लेकिन हम ऑब्जेक्ट के रेफरेंस को बदल सकते हैं। स्ट्रिंग को final बनाया गया है ताकि कोई इसे एक्सटेंड न कर सके और इसकी इम्यूटेबिलिटी को नष्ट न कर सके। String के इम्यूटेबल/फाइनल होने के कारण 1. सुरक्षा (Security) पैरामीट

  1. - Java में इंटरफेस वेरिएबल्स डिफ़ॉल्ट रूप से static और final क्यों होते हैं?

    एक इंटरफेस व्यवहार का प्रोटोकॉल परिभाषित करता है, न कि हमें कैसे कार्यान्वित करना चाहिए। जो क्लास इंटरफेस को इम्प्लीमेंट करती है, वह उस इंटरफेस द्वारा परिभाषित प्रोटोकॉल का पालन करती है। इंटरफेस वेरिएबल्स static होते हैं क्योंकि Java इंटरफेस को अपने आप इंस्टेंशिएट नहीं किया जा सकता। वेरिएबल का मा

  1. - Java में final कीवर्ड

    final Java एलिमेंट्स के लिए एक नॉन-एक्सेस मॉडिफायर है। final मॉडिफायर का उपयोग क्लासेज, मेथड्स और वेरिएबल्स के कार्यान्वयन को अंतिम रूप देने के लिए किया जाता है।Final Variablesएक final वेरिएबल को केवल एक बार स्पष्ट रूप से इनिशियलाइज़ किया जा सकता है। final घोषित एक रेफरेंस वेरिएबल को कभी भी किसी अलग