溫馨提示×

java中的多態能調用子類方法嗎

小樊
125
2024-11-21 20:39:39
欄目: 編程語言

是的,Java中的多態可以調用子類方法。多態是面向對象編程的一個重要特性,它允許一個類的引用變量指向另一個子類的對象。當通過這個引用變量調用方法時,會根據實際的對象類型來動態地選擇調用哪個類的方法。這就是動態綁定或多態的概念。

以下是一個簡單的例子來說明多態如何調用子類方法:

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

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("The dog barks");
    }

    public void fetch() {
        System.out.println("The dog fetches a ball");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Dog(); // 多態:引用變量指向子類對象
        myAnimal.makeSound(); // 調用子類方法:The dog barks
        myAnimal.fetch(); // 調用子類方法:The dog fetches a ball
    }
}

在這個例子中,我們有一個Animal基類和它的子類Dog。Dog類重寫了makeSound()方法,并添加了一個新的方法fetch()。在main方法中,我們創建了一個類型為Animal的引用變量myAnimal,并將其指向一個Dog對象。當我們通過myAnimal調用makeSound()方法時,實際上調用的是Dog類中的makeSound()方法。同樣,當我們調用fetch()方法時,也是調用的Dog類中的方法。這就是多態如何允許我們調用子類方法的。

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