是的,Java中的多態可以處理不同類型。多態是面向對象編程的一個重要特性,它允許一個接口或基類的引用變量指向其子類的對象。這樣,我們可以通過這個引用變量調用子類的方法,從而實現代碼的復用和擴展。
在Java中,多態的實現主要依賴于以下幾點:
下面是一個簡單的Java多態示例:
class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
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(); // 調用的是Dog類中覆蓋的makeSound方法,輸出 "The dog barks"
myAnimal = new Cat(); // 向上轉型,將Cat對象賦值給Animal類型的引用變量
myAnimal.makeSound(); // 調用的是Cat類中覆蓋的makeSound方法,輸出 "The cat meows"
}
}
在這個示例中,我們定義了一個Animal
基類,以及兩個繼承自Animal
的子類Dog
和Cat
。在main
方法中,我們使用Animal
類型的引用變量myAnimal
分別指向Dog
和Cat
的對象,并通過調用makeSound
方法實現了多態。