मेथड ओवरराइडिंग रनटाइम पॉलीमॉर्फिज्म का एक उदाहरण है। मेथड ओवरराइडिंग में, एक सबक्लास अपने सुपरक्लास में मौजूद मेथड के समान सिग्नेचर वाले मेथड को ओवरराइड करता है। कंपाइल टाइम पर, चेक रेफरेंस टाइप पर किया जाता है। हालांकि, रनटाइम में, JVM ऑब्जेक्ट टाइप का पता लगाता है और उस विशेष ऑब्जेक्ट से संबंधित मेथड को चलाएगा।
उदाहरण
अवधारणा को समझने के लिए नीचे दिए गए उदाहरण देखें −
class Animal {
public void move() {
System.out.println("Animals can move");
}
}
class Dog extends Animal {
public void move() {
System.out.println("Dogs can walk and run");
}
}
public class TestDog {
public static void main(String args[]) {
Animal a = new Animal(); // Animal रेफरेंस और ऑब्जेक्ट
Animal b = new Dog(); // Animal रेफरेंस लेकिन Dog ऑब्जेक्ट
a.move(); // Animal क्लास में मेथड चलाता है
b.move(); // Dog क्लास में मेथड चलाता है
}
}आउटपुट
यह निम्नलिखित परिणाम उत्पन्न करेगा −
Animals can move Dogs can walk and run