匿名類

匿名類是不能有名字的類,它們不能被引用,只能在創建時用New語句來聲明它們。匿名類的聲明是在編譯時進行的,實例化在運行時進行,這意味著for循環中的一個new語句會創建相同匿名類的幾個實例,而不是創建幾個不同匿名類的一個實例。 匿名類的目的是在某個地方需要特殊的實現,因此在該處編寫其實現,並獲取它的實例,調用它的方法。不要在匿名內部類編寫其他的方法,是不可見的。 形式為:new

匿名類的實現方式

繼承一個類,重寫其方法

實現一個接口,可以是多個

案例:

public class TestAnonymousClass{ public static void main(String args[]){ TestAnonymousClass testAnonymousClass=new TestAnonymousClass(); testAnonymousClass.show(); } //在這個方法中構造了一個匿名內部類 private void show(){ Out anony=new Out(){ // 獲取匿名內部類實例 void show(){ //重寫父類的方法 System.out.println("this is Anonymous InterClass showing."); } }; anony.show();// 調用其方法 } } // 已有類Out;匿名內部類通過重寫其方法獲得另外的實現 class Out{ void show(){ System.out.println("this is Out showing."); } }

1.

繼承一個類,重寫其方法

2.

實現一個接口,可以是多個

案例:

public class TestAnonymousClass{ public static void main(String args[]){ TestAnonymousClass testAnonymousClass=new TestAnonymousClass(); testAnonymousClass.show(); } //在這個方法中構造了一個匿名內部類 private void show(){ Out anony=new Out(){ // 獲取匿名內部類實例 void show(){ //重寫父類的方法 System.out.println("this is Anonymous InterClass showing."); } }; anony.show();// 調用其方法 } } // 已有類Out;匿名內部類通過重寫其方法獲得另外的實現 class Out{ void show(){ System.out.println("this is Out showing."); } }

相關詞條

熱門詞條

聯絡我們