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

Java में सुपरक्लास के फाइनल मेथड को ओवरराइड करने का प्रयास करने पर क्या होगा?

सुपरक्लास में final के रूप में घोषित कोई भी मेथड सबक्लास द्वारा ओवरराइड नहीं किया जा सकता। यदि हम सुपरक्लास के फाइनल मेथड को ओवरराइड करने का प्रयास करते हैं तो हमें Java में एरर मिलेगा।

मेथड ओवरराइडिंग लागू करने के नियम

  • मेथड घोषणा उस मेथड के समान होनी चाहिए जिसे ओवरराइड किया जाना है।
  • क्लास (सबक्लास) को दूसरी क्लास (सुपरक्लास) को एक्सटेंड करना चाहिए, ओवरराइड करने का प्रयास करने से पहले।
  • सबक्लास सुपरक्लास के फाइनल मेथड्स को कभी ओवरराइड नहीं कर सकता।

उदाहरण

class Car { 
    public void brake() { 
        System.out.println("brake() method of Car"); 
    } 
    public final void accelerate() { 
        System.out.println("accelerate() method of Car"); 
    } 
} 

public class BenzCar extends Car { 
    public static void main(String[] args) { 
        BenzCar benz = new BenzCar(); 
        benz.accelerate(); 
        benz.brake(); 
    } 
    public void accelerate() { 
        System.out.println("accelerate() method of Benz Car"); 
    } 
}

ऊपर के उदाहरण में, यदि हम सुपरक्लास के फाइनल मेथड (accelerate() मेथड) को ओवरराइड करने का प्रयास करते हैं। कंपाइलर एरर थ्रो करेगा। इसलिए हम Java में सुपरक्लास के फाइनल मेथड को ओवरराइड नहीं करते।

आउटपुट

overridden method is final

कंपाइल-टाइम एरर: "overridden method is final" - फाइनल मेथड को ओवरराइड नहीं किया जा सकता।

  1. Java में String intern() मेथड की भूमिका क्या है? Java में String intern() मेथड की भूमिका क्या है?

    स्ट्रिंग Java में एक क्लास है जो कैरेक्टर्स के सीक्वेंस को स्टोर करती है, यह java.lang पैकेज से संबंधित है। एक बार स्ट्रिंग ऑब्जेक्ट बनाने के बाद आप उन्हें मॉडिफाई नहीं कर सकते (इम्यूटेबल)। स्टोरेज सभी स्ट्रिंग ऑब्जेक्ट्स हीप एरिया में एक अलग मेमोरी लोकेशन में स्टोर होते हैं जिसे स्ट्रिंग कॉन्स्टे

  1. Java में pack() मेथड का उपयोग कब कर सकते हैं? Java में pack() मेथड का उपयोग कब कर सकते हैं?

    pack() मेथड Java में Window क्लास में परिभाषित है और यह फ्रेम को इस तरह आकार देता है कि इसकी सभी सामग्री उनके पसंदीदा आकार पर या उससे ऊपर हैं। pack() मेथड का एक विकल्प setSize() या setBounds() मेथड्स को कॉल करके फ्रेम आकार को स्पष्ट रूप से स्थापित करना है। सामान्य तौर पर, pack() मेथड का उपयोग setSiz

  1. Java में setBounds() विधि का उपयोग क्या है? Java में setBounds() विधि का उपयोग क्या है?

    लेआउट प्रबंधक जोड़े गए घटकों की स्थिति और आकार को स्वचालित रूप से तय करने के लिए उपयोग किए जाते हैं। लेआउट प्रबंधक की अनुपस्थिति में, घटकों की स्थिति और आकार को मैन्युअल रूप से सेट करना पड़ता है। ऐसी स्थिति में setBounds() विधि का उपयोग स्थिति और आकार सेट करने के लिए किया जाता है। घटकों की स्थिति औ