Java中匿名類的兩種實現(xiàn)方式
使用匿名內(nèi)部類課使代碼更加簡潔、緊湊,模塊化程度更高。內(nèi)部類能夠訪問外部內(nèi)的一切成員變量和方法,包括私有的,而實現(xiàn)接口或繼承類做不到。然而這個不是我說的重點,我說的很簡單,就是匿名內(nèi)部類的兩種實現(xiàn)方式:第一種,繼承一個類,重寫其方法;第二種,實現(xiàn)一個接口(可以是多個),實現(xiàn)其方法。下面通過代碼來說明:
public class TestAnonymousInterClass{
public static void main(String args[]){
TestAnonymousInterClass test=new TestAnonymousInterClass();
test.show();
}
//在這個方法中構(gòu)造了一個匿名內(nèi)部類
private void show(){
Out anonyInter=new Out(){// 獲取匿名內(nèi)部類實例
void show(){//重寫父類的方法
System.out.println("this is Anonymous InterClass showing.");
}
};
anonyInter.show();// 調(diào)用其方法
}
}
// 這是一個已經(jīng)存在的類,匿名內(nèi)部類通過重寫其方法,將會獲得另外的實現(xiàn)
class Out{
void show(){
System.out.println("this is Out showing.");
}
}
程序運行的輸出結(jié)果為:
this is Anonymous InterClass showing.
所以在這里看出,匿名內(nèi)部類有了自己的實現(xiàn)。其實很簡單,使用匿名內(nèi)部類是因為我這地方需要有點什么特殊的實現(xiàn),所以我就在這地方把具體實現(xiàn)也給了出來了。然后我就在這地方獲取它的實例,調(diào)用它的方法。
接口的方式,只要把父類換成接口就行了,沒必要給出代碼了。
使用匿名內(nèi)部類時我們不要忘了我們的目的,我們只是在這地方想對某個類有特殊的實現(xiàn)。而不要想得太多,在匿名內(nèi)部編寫其它的方法。在匿名內(nèi)部類中編寫的自己的方法是不可見的。此種做法是毫無意義的,當然一般也不會這么做。在這里只是告訴初學者對于匿名內(nèi)部類不要想的太多,而要這么想:匿名內(nèi)部類就是重寫父類或接口的方法。
匿名內(nèi)部類是沒有名字的,所以我們沒辦法獲得其類型,而只能把它當作超類或接口類型來使用。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
springboot異步處理@NotBlank或@NotNull注釋校驗不生效問題
這篇文章主要介紹了springboot異步處理@NotBlank或@NotNull注釋校驗不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
利用Spring IOC技術(shù)實現(xiàn)用戶登錄驗證機制
這篇文章主要為大家詳細介紹了Spring IOC技術(shù)實現(xiàn)用戶登錄驗證機制的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10
feign實現(xiàn)傳遞參數(shù)的三種方式小結(jié)
這篇文章主要介紹了feign實現(xiàn)傳遞參數(shù)的三種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

