在Java中,多態是通過繼承、接口和方法重寫實現的。以下是實現多態的幾個關鍵步驟:
public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Dog(); // 使用Dog類對象作為Animal類型的引用
myAnimal.makeSound(); // 輸出 "The dog barks"
myAnimal = new Cat(); // 使用Cat類對象作為Animal類型的引用
myAnimal.makeSound(); // 輸出 "The cat meows"
}
}
在這個例子中,我們定義了一個名為Animal的基類,其中包含一個名為makeSound的方法。然后,我們創建了兩個子類Dog和Cat,它們分別繼承自Animal類,并重寫了makeSound方法。在主類Main中,我們使用Animal類型作為引用,并將Dog和Cat類的對象分別賦值給它。當我們調用makeSound方法時,Java運行時系統會根據實際的對象類型(Dog或Cat)來選擇合適的方法實現,這就是多態的體現。