java匿名內部類

2021-07-25 11:57:15 字數 1323 閱讀 1222

匿名內部類

匿名內部類

1、

匿名內部類即沒有名字的內部類

2、正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化**編寫

3、但使用匿名內部類還有個前提條件:必須繼承乙個父類或實現乙個介面

示例1:

不使用匿名內部類來實現抽象方法

abstract class people 

class child extends people }

public class demo

}

可以看到,child類繼承了

person

類,然後實現了

child

的乙個例項,將其向上轉型為

person

類的引用。

示例2:

匿名內部類的基本實現

public class demo 

};p.eat(); }}

abstract class people

可以看到,我們直接將抽象類person中的方法在大括號中實現,這樣便可以省略乙個類的書寫,並且,匿名內部類還能用於介面上。

示例3:

在介面上使用匿名內部類

public class demo 

};p.eat(); }}

inte***ce people

從上面的例子可以看出,只要乙個類是抽象的或是乙個介面,那麼其子類中的方法都可以使用匿名內部類來實現,最常用的情況就是在多執行緒的實現上,因為要實現多執行緒必須繼承thread類或是繼承

runnable

介面。示例4:

thread類的匿名內部類的實現

public class demo 

};t.start();

}}

示例5:

runnable介面的匿名內部類實現

public class demo 

};thread t = new thread(r);

t.start();

}}

JAVA匿名內部類

abstract class base public abstract void f public class anonymousconstructor public void f public static void main string args 在此例中,不要求變數i 一定是final 的。...

Java 匿名內部類

內部類定義在區域性時,1,不可以被成員修飾符修飾 2,可以直接訪問外部類中的成員,因為還持有外部類中的引用。但是不可以訪問它所在的區域性中的變數。只能訪問被final修飾的區域性變數。非靜態,沒物件,不執行 class outer new inner function class innerclas...

Java匿名內部類

匿名內部類的全稱是anonymous inner type。注意,這裡的 類 指代的是 type 而不是class這個關鍵字。抽象類和介面可以使用匿名內部類。這裡是乙個小的匿名內部類的demo public class q class a abstract class b解析 a類中定義了乙個成員方...