① 什么是多態(tài)? 多態(tài)(polymorphism)是具有表現(xiàn)多種形態(tài)的能力的特征。同一個(gè)實(shí)現(xiàn)接口,使用不同的實(shí)例而執(zhí)行不同的操作② 什么是向上轉(zhuǎn)型?語(yǔ)法要求是什么? 1、 將一個(gè)父類(lèi)的引用指向一個(gè)子類(lèi)對(duì)象,稱(chēng)為向上轉(zhuǎn)型(upcasting),此時(shí)通過(guò)父類(lèi)引用變量調(diào)用的方法是子類(lèi)覆蓋或繼承父類(lèi)的方法,不是父類(lèi)的方法,此時(shí)通過(guò)父類(lèi)引用變量無(wú)法調(diào)用子類(lèi)特有的方法 <父類(lèi)型> <引用變量> = new <子類(lèi)型>()
自動(dòng)類(lèi)型轉(zhuǎn)換 ③ 什么是向下轉(zhuǎn)型?語(yǔ)法要求是什么? 將一個(gè)指向子類(lèi)對(duì)象的父類(lèi)引用賦給一個(gè)子類(lèi)的引用,稱(chēng)為向下轉(zhuǎn)型(downcasting),向下轉(zhuǎn)型可以訪問(wèn)子類(lèi)特有的方法。必須轉(zhuǎn)換為父類(lèi)指向的真實(shí)子類(lèi)類(lèi)型,否則將出現(xiàn)類(lèi)型轉(zhuǎn)換異常ClassCastException
強(qiáng)制類(lèi)型轉(zhuǎn)換 ④ 實(shí)現(xiàn)多態(tài)的三個(gè)條件是什么? 1、繼承的存在(繼承是多態(tài)的基礎(chǔ),沒(méi)有繼承就沒(méi)有多態(tài)) 2、子類(lèi)重寫(xiě)父類(lèi)的方法(多態(tài)下調(diào)用子類(lèi)重寫(xiě)后的方法) 3、父類(lèi)引用變量指向子類(lèi)對(duì)象(子類(lèi)到父類(lèi)的類(lèi)型轉(zhuǎn)換) ⑤ 使用多態(tài)有什么好處? 減少類(lèi)中的代碼量,可以提高代碼的可擴(kuò)展性和可維護(hù)性 ◆ instanceof運(yùn)算符的作用和語(yǔ)法格式? 判斷一個(gè)對(duì)象是否屬于一個(gè)類(lèi)或者實(shí)現(xiàn)了一個(gè)接口 boolean result = object instanceof class(interface)
注:使用instanceof運(yùn)算符時(shí),對(duì)象的類(lèi)型必須和instanceof的第二個(gè)參數(shù)所指定的類(lèi)或接口在繼承樹(shù)上有上下級(jí)關(guān)系,否則會(huì)出現(xiàn)編譯錯(cuò)誤,instanceof通常和強(qiáng)制類(lèi)型轉(zhuǎn)換結(jié)合使用
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注