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