在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");
}
}
makeSound()
方法,將實際對象的方法調用傳遞給引用類型。這就是動態綁定或多態的核心。public class Main {
public static void main(String[] args) {
Animal myAnimal = new Dog(); // 使用Dog類實例初始化Animal類型的引用
myAnimal.makeSound(); // 調用的是Dog類中重寫的makeSound方法,輸出 "The dog barks"
myAnimal = new Cat(); // 使用Cat類實例初始化Animal類型的引用
myAnimal.makeSound(); // 調用的是Cat類中重寫的makeSound方法,輸出 "The cat meows"
}
}
通過這種方式,Java中的類方法可以實現多態,使得不同的子類對象可以通過相同的引用類型調用不同的方法實現。這提高了代碼的可擴展性和可維護性。