網(wǎng)站維護與建設(shè)內(nèi)容公司網(wǎng)站設(shè)計圖
多態(tài)
什么是多態(tài)?
●同類型的對象,執(zhí)行同一個行為,會表現(xiàn)出不同的行為特征。
多態(tài)的常見形式
父類類型 對象名稱=new子類構(gòu)造器;
接口 對象名稱=new 實現(xiàn)類構(gòu)造器;
多態(tài)中成員訪問特點
●方法調(diào)用:編譯看左邊,運行看右邊。
●變量調(diào)用:編譯看左邊,運行也看左邊。
(多態(tài)側(cè)重行為多態(tài))
多態(tài)的優(yōu)勢:
●在多態(tài)形式下,右邊對象可以實現(xiàn)解耦合,便于擴展和維護。
●定義方法的時候,使用父類型作為參數(shù),該方法就可以接收這父類的一切子類對象,體現(xiàn)出多態(tài)的擴展性與便利。
多態(tài)下會產(chǎn)生的一個問題:
多態(tài)下不能使用子類的獨有功能
自動類型轉(zhuǎn)換(從子到父):子類對象賦值給父類類型的變量指向。
強制類型轉(zhuǎn)換嗎(從父到子)
此時必須進行強制類型轉(zhuǎn)換:子類對象變量=(子類)父類類型的變量
作用:可以解決多態(tài)下的劣勢,可以實現(xiàn)調(diào)用子類獨有的功能。
注意:
如果轉(zhuǎn)型后的類型和對象真實類型不是同一種類型,那么在轉(zhuǎn)換的時候就會出現(xiàn)ClassCastException
1.引用數(shù)據(jù)類型的類型轉(zhuǎn)換,有幾種方式?
●自動類型轉(zhuǎn)換、強制類型轉(zhuǎn)換。
2.強制類型轉(zhuǎn)換能解決什么問題?強制類型轉(zhuǎn)換需要注意什么。
●可以轉(zhuǎn)換成真正的子類類型,從而調(diào)用子類獨有功能。
●有繼承關(guān)系/實現(xiàn)的2個類型就可以進行強制轉(zhuǎn)換,編譯無問題。
●運行時,如果發(fā)現(xiàn)強制轉(zhuǎn)換后的類型不是對象真實類型則報錯。