在Java中,實現多態需要滿足以下條件:
以下是實現多態的示例代碼:
// 定義一個父類
class Animal {
public void sound() {
System.out.println("動物發出聲音");
}
}
// 定義兩個子類,分別繼承父類
class Cat extends Animal {
@Override
public void sound() {
System.out.println("貓發出喵喵的聲音");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("狗發出汪汪的聲音");
}
}
public class PolymorphismExample {
public static void main(String[] args) {
// 父類類型的引用指向子類的對象
Animal animal1 = new Cat();
Animal animal2 = new Dog();
// 調用方法,實現多態
animal1.sound(); // 輸出:貓發出喵喵的聲音
animal2.sound(); // 輸出:狗發出汪汪的聲音
}
}
在上述示例代碼中,Animal是父類,Cat和Dog分別是Animal的子類。通過Animal類型的引用指向Cat和Dog的對象,實現了多態。通過調用sound()方法,由于Animal類型引用指向的是實際對象的類型,因此會自動調用對應子類的sound()方法。輸出結果會根據實際對象的類型而不同,表現出多態的特性。