詳解java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型

詳解java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型

北大青鳥長沙麓谷校區(qū)      2022-03-19 22:50:01     11

詳解java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型,今天北大青鳥長沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)小編為大家介紹“詳解java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型”,希望通過此文大家能夠掌握java多態(tài)向

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹


今天北大青鳥長沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)小編為大家介紹“詳解java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型”,希望通過此文大家能夠掌握java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型,下面就隨小編一起看看java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型。



1、 方法的多態(tài)性:


  重載overload(返回值類型,參數(shù)類型,數(shù)目不同,且定義在同一個類中)、重寫overide(子類與父類中,相同的方法名,不同的方法體);



  2、 對象的多態(tài)性:父子類對象的轉(zhuǎn)換;


  向上轉(zhuǎn)型:子類對象變?yōu)楦割悓ο螅割?父類對象 = 子類實例,自動轉(zhuǎn)換;


  用法: Father f = new Son();



  向下轉(zhuǎn)型:父類對象變成子類對象,子類 子類對象 = (子類) 父類實例,強制轉(zhuǎn)換;


  Father f = new Son();


  Son s = (Son)f; //必須要先有向上轉(zhuǎn)型,才能向下轉(zhuǎn)型


  舉例:Father是父類,Son是子類


  Father f1 = new Son(); // 這就叫 upcasting (向上轉(zhuǎn)型), 現(xiàn)在f1引用指向一個Son對象


  Son s1 = (Son) f1; // 這就叫 downcasting (向下轉(zhuǎn)型),現(xiàn)在f1還是指向Son對象


  舉例:Father是父類,Son是子類


  Father f2 = new Father();


  Son s2 = (Son) f2; // 編譯不出錯,運行時出錯(除非子類和父類擁有相同的屬性和方法),子類引用不能指向父類對象


  注:


  向上轉(zhuǎn)型,父類實例只能調(diào)用父類與子類共同的成員方法,成員變量只能調(diào)用父類的,子類獨有的實例變量與實例方法將不能調(diào)用,且變量值是父類的,方法的執(zhí)行方法體是子類的。


  向下轉(zhuǎn)型,前提是有向上轉(zhuǎn)型,此時對象能夠調(diào)用子類的成員變量以及獨有的成員方法。


  例如:Father f1 = new Son(); Son s1 = (Son) f1; 其實就相當(dāng)于Son s1 = new Son();


以上就是北大青鳥長沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)小編為大家介紹的“詳解java多態(tài)向上轉(zhuǎn)型和向下轉(zhuǎn)型”的內(nèi)容,希望對大家有幫助,更多java最新資訊請繼續(xù)關(guān)注北大青鳥長沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會有精彩內(nèi)容分享與你。


相關(guān)免費視頻教程推薦——java初級入門教程下載


java多態(tài)中的向上轉(zhuǎn)型:http://www.bjpowernode.com/xiazai/2600.html


java多態(tài)中的向下轉(zhuǎn)型:http://www.bjpowernode.com/xiazai/2599.html



培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。