溫馨提示×

Java泛型extends能否實現多態

小樊
99
2024-09-29 23:00:16
欄目: 編程語言

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對象,從而實現多態。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女