更新時間:2020-07-27 16:03:59 來源:動力節點 瀏覽2388次
使用匿名內部類課使代碼更加簡潔、緊湊,模塊化程度更高。內部類能夠訪問外部內的一切成員變量和方法,包括私有的,而實現接口或繼承類做不到。然而這個不是我說的重點,我說的很簡單,就是匿名內部類的兩種實現方式:第一種,繼承一個類,重寫其方法;第二種,實現一個接口(可以是多個),實現其方法。下面通過代碼來說明:
public class TestAnonymousInterClass{??
?public static void main(String args[]){??
??TestAnonymousInterClass test=new TestAnonymousInterClass();??
??test.show();??
?}??
?//在這個方法中構造了一個匿名內部類??
?private void show(){??
??Out anonyInter=new Out(){// 獲取匿名內部類實例?????
???void show(){//重寫父類的方法??
????System.out.println("this is Anonymous InterClass showing.");??
???}??
??};??
??anonyInter.show();// 調用其方法??
?}??
}???
// 這是一個已經存在的類,匿名內部類通過重寫其方法,將會獲得另外的實現??
class Out{??
?void show(){??
??System.out.println("this is Out showing.");??
?}??
}
程序運行的輸出結果為:
this is Anonymous InterClass showing.
所以在這里看出,匿名內部類有了自己的實現。其實很簡單,使用匿名內部類是因為我這地方需要有點什么特殊的實現,所以我就在這地方把具體實現也給了出來了。然后我就在這地方獲取它的實例,調用它的方法。
接口的方式,只要把父類換成接口就行了,沒必要給出代碼了。
使用匿名內部類時我們不要忘了我們的目的,我們只是在這地方想對某個類有特殊的實現。而不要想得太多,在匿名內部編寫其它的方法。在匿名內部類中編寫的自己的方法是不可見的。此種做法是毫無意義的,當然一般也不會這么做。在這里只是告訴初學者對于匿名內部類不要想的太多,而要這么想:匿名內部類就是重寫父類或接口的方法。
匿名內部類是沒有名字的,所以我們沒辦法獲得其類型,而只能把它當作超類或接口類型來使用。
以上就是動力節點java培訓機構的小編針對“編程基礎Java中的匿名類方法覆蓋”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習