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.

更新於: 2024-07-23

2K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告