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
对象,从而实现多态。