Java泛型中的extends關鍵字可以實現多態。在Java中,多態是指允許一個類的引用變量指向另一個類的對象。通過使用extends關鍵字,你可以創建一個泛型類,該類可以繼承另一個類或實現一個接口。這樣,你可以使用泛型類來處理不同類型的對象,同時保持多態性。
以下是一個簡單的示例,說明如何使用extends關鍵字實現多態:
// 定義一個基類(父類)Animal
class Animal {
void makeSound() {
System.out.println("The animal makes a sound");
}
}
// 定義一個泛型類Dog,繼承自Animal類
class Dog<T extends Animal> extends Animal {
// Dog類繼承了Animal類,因此可以實現多態
void fetch() {
System.out.println("The dog fetches the ball");
}
}
// 定義一個泛型類Cat,繼承自Animal類
class Cat<T extends Animal> extends Animal {
// Cat類繼承了Animal類,因此可以實現多態
void scratch() {
System.out.println("The cat scratches");
}
}
public class Main {
public static void main(String[] args) {
// 使用泛型類Dog和Cat,它們都繼承自Animal類,因此可以實現多態
Animal myAnimal = new Dog<>();
myAnimal.makeSound(); // 輸出:The animal makes a sound
((Dog) myAnimal).fetch(); // 輸出:The dog fetches the ball
myAnimal = new Cat<>();
myAnimal.makeSound(); // 輸出:The animal makes a sound
((Cat) myAnimal).scratch(); // 輸出:The cat scratches
}
}
在這個示例中,我們定義了一個基類Animal和兩個泛型子類Dog和Cat,它們都繼承自Animal類。我們可以使用Animal類型的引用來指向Dog或Cat對象,從而實現多態。