Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

พอลิморฟิซึมรันไทม์ใน Java พร้อมการสืบทอดหลายระดับ

การ override เมธอดเป็นตัวอย่างของพอลิморฟิซึมรันไทม์ ในการ override เมธอด คลาสย่อยจะ override เมธอดที่มีลายเซ็นเดียวกับในคลาสแม่ของมัน ในขณะคอมไพล์ การตรวจสอบทำบนประเภทอ้างอิง อย่างไรก็ตาม ในรันไทม์ JVM จะระบุประเภทออบเจ็กต์และจะรันเมธอดที่เป็นของออบเจ็กต์เฉพาะนั้น

เราสามารถ override เมธอดได้ที่ระดับใดก็ได้ของการสืบทอดหลายระดับ ดูตัวอย่างด้านล่างเพื่อเข้าใจแนวคิด:

ตัวอย่าง

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");    } } class Puppy extends Dog {    public void move() {       System.out.println("Puppy can move.");    } } public class Tester {    public static void main(String args[]) {       Animal a = new Animal(); // Animal reference and object       Animal b = new Puppy(); // Animal reference but Puppy object       a.move(); // runs the method in Animal class       b.move(); // runs the method in Puppy class    } }

ผลลัพธ์

Animals can move Puppy can move.