在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
)來選擇合適的方法實現,這就是多態的體現。