Java執行時多型與多層繼承
方法重寫 是 執行時多型 的一個例子。在方法重寫中,子類會重寫其超類中具有相同簽名的某個方法。在編譯時,檢查會針對引用型別進行。但是,在執行時,JVM 會確定物件的型別,並執行屬於該特定物件的某個方法。
問題陳述
使用 Java 中的 多層繼承 和方法重寫來演示執行時多型。
輸出
Animals can move Puppy can move.
樸素方法
以下是使用多層繼承在 Java 中實現執行時多型的步驟:
- 步驟 1: 定義一個 Animal 類,其中包含一個 move() 方法。
- 步驟 2: 建立一個 Dog 類,擴充套件 Animal 並重寫 move() 方法。
- 步驟 3: 建立一個 Puppy 類,擴充套件 Dog 並重寫 move() 方法。
- 步驟 4: 在 main 方法中,建立一個 Animal 引用和物件,以及一個 Animal 引用與 Puppy 物件。
- 步驟 5: 在這兩個引用上呼叫 move() 方法,以演示執行時多型。
使用多層繼承實現執行時多型的示例
我們可以在多層繼承的任何級別重寫方法。請參閱下面的示例以瞭解該概念:
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.
廣告