Java執行時多型與多層繼承
方法重寫 是 執行時多型 的一個例子。在方法重寫中,子類重寫了與其超類中方法簽名相同的方法。在編譯時,檢查是在引用型別上進行的。然而,在執行時,JVM 會確定物件的型別,並執行屬於該特定物件的方法。
問題陳述
使用 Java 中的 多層繼承 和方法重寫來演示執行時多型。
輸出
Animals can move Puppy can move.
樸素方法
以下是使用多層繼承在 Java 中實現執行時多型的步驟:
- 步驟 1: 定義一個帶有 move() 方法的 Animal 類。
- 步驟 2: 建立一個繼承自 Animal 並重寫 move() 方法的 Dog 類。
- 步驟 3: 建立一個繼承自 Dog 並重寫 move() 方法的 Puppy 類。
- 步驟 4: 在主方法中,建立一個 Animal 引用和物件,以及一個帶有 Puppy 物件的 Animal 引用。
- 步驟 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.
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP