在Java中,匿名內部類是一種沒有名字的內部類。它通常用于需要在局部作用域內創建一個類的情況,例如,當需要一個類來實現某個接口或繼承某個抽象類時。
匿名內部類的用法有如下幾種:
1.實現接口:
new 接口名() {
// 實現接口中的方法
}
2.繼承抽象類:
new 抽象類名() {
// 實現抽象類中的抽象方法
}
3.作為參數傳遞:
public void someMethod(SomeInterface anInterface) {
// 使用匿名內部類實現接口
anInterface.doSomething();
}
// 調用 someMethod 方法
someMethod(new SomeInterface() {
public void doSomething() {
// 實現接口中的方法
}
});
匿名內部類的使用可以簡化代碼,并且不需要為類取名字。但是,它也有一些限制,例如不能有構造方法和靜態成員變量,不能訪問外部類的非final變量等。