面向對象之------多態

多態性,是面向對象中最重要的概念,在java中有兩種體現:
1.方法的重載(overload)和重寫(overwrite).

2.對象的多態性------可以直接應用在抽象類和接口上。

java引用變量有兩個類型:編譯時類型和 運行時類型。編譯時類型由聲明該變量時使用的類型決定,運行時類型由實際賦給該變量的對象決定。

若編譯時類型和運行時類型不一致,就會出現多態(polymorphism)

多態性指的是什么?可以理解為一個事物的多種表現形態。

一 ?1)方法的重載與重寫 2)子類對象的多態性

二 子類對象的多態性使用的前提:1)要有類的繼承 2)要有子類對父類方法的重寫。

三 程序運行分為編譯狀態和運行狀態

? ? ? 對于多態性來說,編譯時,“看左邊”,將此引用變量理解為父類的類型。

? ? ?運行時,“看右邊”,關注于真正對象的實體:子類的對象。那么執行的方法就是子類重寫的。

//子類對象的多態性:父類的引用指向子類對象

Person p1 =new Man();//向上轉型

//虛擬方法調用:通過父類的引用指向子類的對象實體,當調用方法時,實際執行的是子類重寫父類的方法。

p1.eat();

p1.walk();

動態類型綁定

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容