溫馨提示×

java多態(tài)如何實(shí)現(xiàn)

小億
80
2024-01-16 19:09:11
欄目: 編程語言

Java的多態(tài)是通過繼承和方法重寫來實(shí)現(xiàn)的。

首先,需要定義一個(gè)父類,該父類包含一個(gè)或多個(gè)方法。

然后,定義一個(gè)或多個(gè)子類,這些子類繼承自父類,并重寫父類中的方法。

父類中的方法可以使用關(guān)鍵字abstract來定義為抽象方法,這樣子類就必須實(shí)現(xiàn)這些抽象方法。

在使用多態(tài)時(shí),可以聲明一個(gè)父類類型的變量來引用子類對象,然后通過該父類類型的變量來調(diào)用方法。這樣,根據(jù)實(shí)際引用的子類對象的類型,可以調(diào)用子類中重寫的方法。

以下是一個(gè)示例代碼:

class Animal {
    public void sound() {
        System.out.println("Animal makes sound");
    }
}

class Dog extends Animal {
    public void sound() {
        System.out.println("Dog barks");
    }
}

class Cat extends Animal {
    public void sound() {
        System.out.println("Cat meows");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Dog();
        Animal animal2 = new Cat();
        
        animal1.sound(); // 輸出:"Dog barks"
        animal2.sound(); // 輸出:"Cat meows"
    }
}

在上述代碼中,Animal是父類,Dog和Cat是子類。Animal類中定義了一個(gè)sound()方法,而Dog和Cat類分別重寫了該方法。

在main()方法中,animal1和animal2是Animal類型的變量,分別引用了Dog和Cat類的對象。通過這些變量調(diào)用sound()方法時(shí),實(shí)際上會調(diào)用子類中重寫的方法,而不是父類中的方法。這就是多態(tài)的效果。

0