在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的引用變量myAnimal分別指向了Dog和Cat的對象。當我們調用myAnimal.makeSound()方法時,Java會根據實際的對象類型(Dog或Cat)來調用相應的方法實現。這就是多態的體現。