多型,匿名內部類筆記整理
阿新 • • 發佈:2020-09-11
父類型別 變數名=new 子類物件;
變數名.方法名( );
除了非靜態方法是編譯時看左邊,執行時看右邊;其餘都是編譯時看左邊,執行時也看左邊
多型的應用場景:
- 變數多型-->意義不大,繼承也能實現
- 形參多型:方法的引數型別為父類型別,這樣引數就可以接收父類型別的物件或者它所有的子類物件(方法名 (父類型別 引數)
- 返回值多型:如果返回值型別為父類型別,那麼就可以返回該父類型別的物件或者它所有子類物件(return new 要返回的方法)
下轉前要判斷:
instanceof關鍵字:
變數名 instanceof 資料型別 如果變數屬於該資料型別,返回true。 如果變數不屬於該資料型別,返回false。if( anl instanceof Cat){//判斷anl是否能轉換為Cat型別,如果可以返回:true,否則返回:false Cat c = (Cat)anl;//安全轉換 }
匿名內部類:
作用就是為了簡化程式碼,在不建立子類的情況下,直接得到一個類的子類物件
格式:
new 類名(){
重寫 實現抽象方法
};
如果想要多次使用,就在new之前賦給一個物件,這個物件的型別要和原來的抽象類或者介面類類名一致
如果只是使用一次,直接在末尾呼叫該抽象方法