在Java中,多態是通過繼承和接口實現的。當你使用一個父類或接口類型的參數時,可以傳遞任何繼承自該父類或實現了該接口的子類對象。這樣,你可以在方法中調用子類特有的方法,實現多態行為。
以下是一個簡單的例子來說明如何在Java中使用多態參數:
Animal
:public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
Dog
和Cat
,它們都繼承自Animal
類,并重寫makeSound
方法: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");
}
}
animalSound
,它接受一個Animal
類型的參數:public static void animalSound(Animal animal) {
animal.makeSound();
}
main
方法中,創建Dog
和Cat
對象,并將它們作為參數傳遞給animalSound
方法:public static void main(String[] args) {
Dog dog = new Dog();
Cat cat = new Cat();
animalSound(dog); // 輸出 "The dog barks"
animalSound(cat); // 輸出 "The cat meows"
}
在這個例子中,animalSound
方法的參數類型是Animal
,但我們可以在調用該方法時傳遞任何繼承自Animal
的子類對象(如Dog
或Cat
)。這就是多態的體現。在方法內部,我們調用了makeSound
方法,實際執行的是子類重寫的方法。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。