您好,登錄后才能下訂單哦!
小編給大家分享一下Java多態怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
多態是繼封裝、繼承之后,面向對象的第三大特性。
現實事物經常會體現出多種形態,如學生,學生是人的一種,則一個具體的同學張三既是學生也是人,即出現兩種形態。
Java作為面向對象的語言,同樣可以描述一個事物的多種形態。如Student類繼承了Person類,一個Student的對象便既是Student,又是Person。
多態的定義格式:及時就是父類的引用變量指向子類對象
父類類型變量名=new子類類型();
變量名.方法名();
A:普通類多態定義的格式
父類變量名=new子類();
A:多態成員變量
當子父類中出現同名的成員變量時,多態調用該變量時:
編譯時期:參考的是引用型變量所屬的類中是否有被調用的成員變量。沒有,編譯失敗。
運行時期:也是調用引用型變量所屬的類中的成員變量。
簡單記:編譯和運行都參考等號的左邊。編譯運行看左邊。
B:多態成員方法
編譯時期:參考引用變量所屬的類,如果沒有類中沒有調用的方法,編譯失敗。
運行時期:參考引用變量所指的對象所屬的類,并運行對象所屬類中的成員方法。
簡而言之:編譯看左邊,運行看右邊
多態中向上轉型與向下轉型
多態的轉型分為向上轉型與向下轉型兩種:
A:向上轉型:當有子類對象賦值給一個父類引用時,便是向上轉型,多態本身就是向上轉型的過程。
使用格式:
父類類型變量名=new子類類型();
如:
Personp=newStudent();
B:向下轉型:一個已經向上轉型的子類對象可以使用強制類型轉換的格式,將父類引用轉為子類引用,這個過程是向下轉型。如果是直接創建父類對象,是無法向下轉型的
使用格式:
子類類型變量名=(子類類型)父類類型的變量;
如:
Studentstu=(Student)p;//變量p實際上指向Student對象
優點:可以提高可維護性(多態前提所保證的),提高代碼的可擴展性
缺點:無法直接訪問子類特有的成員
以上是“Java多態怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。