向上转型/向下转型
向上轉(zhuǎn)型:多態(tài)
向下轉(zhuǎn)型:
前提:有了對象的多態(tài)性之后,內(nèi)存中實(shí)際上是加載了子類特有的屬性/方法,但由于變量聲明為父類類型,導(dǎo)致編譯時(shí),只能調(diào)用父類中聲明的屬性/方法。
目的:調(diào)用子類特有的屬性和方法
使用強(qiáng)轉(zhuǎn)符:()
注:可能ClassCastException異常(類型轉(zhuǎn)換異常)
使用instanceof關(guān)鍵字:在進(jìn)行向下轉(zhuǎn)型前判斷
①. a instance of A //判斷對象a是否是類A的實(shí)例,是返回true,否則返回false;
②. class A extends B{}如果a instance of A返回true,則a instance of B也返回true;
③. a instance of A要求a所屬的類與類A是子父類關(guān)系,否則編譯錯(cuò)誤;
eg:
if( p instanceof Man){Man m = (Man)p; } if(p instanceof String){//編譯錯(cuò)誤,p與String類不構(gòu)成子父類關(guān)系 } 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
- 上一篇: ajax callback 在什么时候运
- 下一篇: ERWin 7.1 和7.2 的官方FT