在Java開發中,多態的機制是通過繼承和方法重寫來實現的。具體來說,當一個子類繼承自一個父類并重寫了父類的方法時,當使用父類類型的變量來調用這個方法時,實際上會調用子類中重寫后的方法。這種行為被稱為動態方法分派,是實現多態的核心機制之一。
以下是一個簡單的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");????}}class?Cat?extends?Animal?{????@Override????public?void?makeSound()?{????????System.out.println("The?cat?meows");????}}public?class?PolymorphismExample?{????public?static?void?main(String[]?args)?{????????Animal?animal1?=?new?Animal();????????Animal?animal2?=?new?Dog();????????Animal?animal3?=?new?Cat();????????????????animal1.makeSound();????????animal2.makeSound();????????animal3.makeSound();????}}
在這個例子中,Animal是父類,而Dog和Cat是繼承自Animal的子類。在子類中,我們重寫了makeSound方法,并提供了不同的實現。
在main方法中,我們創建了三個Animal類型的對象,并分別用它們來調用makeSound方法。其中,animal1是Animal類型的對象,所以調用makeSound方法時會執行Animal類中的makeSound方法。animal2和animal3都是Animal類型的變量,但是它們所引用的對象是Dog和Cat類型的對象,因此調用makeSound方法時會執行這些子類中重寫后的makeSound方法。這就是多態的體現。
Copyright ? 2013-2021 河南云和數據信息技術有限公司 豫ICP備14003305號 ISP經營許可證:豫B-20160281