Java泛型extends能否实现多态

avatar
作者
猴君
阅读量:0

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和两个泛型子类DogCat,它们都继承自Animal类。我们可以使用Animal类型的引用来指向DogCat对象,从而实现多态。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!