小編給大家分享一下Java多態(tài)怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

多態(tài)是繼封裝、繼承之后,面向?qū)ο蟮牡谌筇匦浴?/p>
現(xiàn)實事物經(jīng)常會體現(xiàn)出多種形態(tài),如學(xué)生,學(xué)生是人的一種,則一個具體的同學(xué)張三既是學(xué)生也是人,即出現(xiàn)兩種形態(tài)。
Java作為面向?qū)ο蟮恼Z言,同樣可以描述一個事物的多種形態(tài)。如Student類繼承了Person類,一個Student的對象便既是Student,又是Person。
多態(tài)的定義格式:及時就是父類的引用變量指向子類對象
父類類型變量名=new子類類型();
變量名.方法名();
A:普通類多態(tài)定義的格式
父類變量名=new子類();
A:多態(tài)成員變量
當(dāng)子父類中出現(xiàn)同名的成員變量時,多態(tài)調(diào)用該變量時:
編譯時期:參考的是引用型變量所屬的類中是否有被調(diào)用的成員變量。沒有,編譯失敗。
運行時期:也是調(diào)用引用型變量所屬的類中的成員變量。
簡單記:編譯和運行都參考等號的左邊。編譯運行看左邊。
B:多態(tài)成員方法
編譯時期:參考引用變量所屬的類,如果沒有類中沒有調(diào)用的方法,編譯失敗。
運行時期:參考引用變量所指的對象所屬的類,并運行對象所屬類中的成員方法。
簡而言之:編譯看左邊,運行看右邊
多態(tài)中向上轉(zhuǎn)型與向下轉(zhuǎn)型
多態(tài)的轉(zhuǎn)型分為向上轉(zhuǎn)型與向下轉(zhuǎn)型兩種:
A:向上轉(zhuǎn)型:當(dāng)有子類對象賦值給一個父類引用時,便是向上轉(zhuǎn)型,多態(tài)本身就是向上轉(zhuǎn)型的過程。
使用格式:
父類類型變量名=new子類類型();
如:
Personp=newStudent();
B:向下轉(zhuǎn)型:一個已經(jīng)向上轉(zhuǎn)型的子類對象可以使用強制類型轉(zhuǎn)換的格式,將父類引用轉(zhuǎn)為子類引用,這個過程是向下轉(zhuǎn)型。如果是直接創(chuàng)建父類對象,是無法向下轉(zhuǎn)型的
使用格式:
子類類型變量名=(子類類型)父類類型的變量;
如:
Studentstu=(Student)p;//變量p實際上指向Student對象
優(yōu)點:可以提高可維護(hù)性(多態(tài)前提所保證的),提高代碼的可擴(kuò)展性
缺點:無法直接訪問子類特有的成員
以上是“Java多態(tài)怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站標(biāo)題:Java多態(tài)怎么用-創(chuàng)新互聯(lián)
文章URL:http://chinadenli.net/article44/ecdhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、虛擬主機(jī)、網(wǎng)站建設(shè)、網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容