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