कोई भी तरीका जिसे अंतिम . घोषित किया गया हो सुपरक्लास में ओवरराइड नहीं किया जा सकता एक उपवर्ग द्वारा। अगर हम अंतिम विधि को ओवरराइड करने का प्रयास करते हैं सुपर क्लास में हमें जावा में एक एरर मिलेगा।
मेथड ओवरराइडिंग को लागू करने के नियम
- विधि घोषणा उसी विधि के समान होनी चाहिए जिसे ओवरराइड किया जाना है।
- वर्ग (उपवर्ग) को ओवरराइड करने का प्रयास करने से पहले एक और वर्ग (सुपरक्लास) का विस्तार करना चाहिए।
- उप वर्ग कभी भी सुपर क्लास के अंतिम तरीकों को ओवरराइड नहीं कर सकता।
उदाहरण
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"); } }
उपरोक्त उदाहरण में, यदि हम अंतिम विधि (त्वरण () विधि) . को ओवरराइड करने का प्रयास करते हैं सुपरक्लास . के . संकलक एक त्रुटि फेंकेगा . इसलिए हम जावा में सुपरक्लास की अंतिम विधि को ओवरराइड नहीं करते हैं।
आउटपुट
overridden method is final