java中的匿名內部類

2021-08-07 06:51:21 字數 1266 閱讀 8737

匿名內部類這一語法適用於建立一次性使用的類。

語法格式為:

new 實現介面() | 父類構造器 (實參列表)

從這一定義可以看出,使用匿名內部類需要注意兩點:

而最常見的匿名內部類的應用場合為: 需要通過實現介面來建立匿名內部類。

舉個例子:

inte***ce  productinformationlist 

public

class anonymousclasstest

public

static

void

main(string args)

public string getname()

});

}}

注:

但是,如果是通過繼承抽象父類來建立匿名內部類,則有:

匿名內部類將擁有和父類擁有相同行參列表的構造器。

舉個例子:

abstract class person

public

person(string name)

//私有成員變數name的setter和getter方法

public

void

setname(string name)

public string getname()

}public

class anonyousinnertest

public

static

void

main(string args)

});//呼叫無參構造器建立person匿名實現類的物件

person p = new person()

//實現抽象方法

public

double

getheight()

//重寫父類例項方法

public string getname()

};ait.test(p);

}}

輸出結果:

姓名為圖靈;

身高為180.20;

......

...分割線...

......

匿名內部類的初始化塊。。。

姓名為人工智慧;

身高為170.40;

也就是說,建立匿名內部類時,必須實現介面或抽象父類中的所有抽象方法。

另外,如果有必要的話,也可以重寫父類中的普通方法。

java 中的匿名內部類

一 基本概況 匿名內部類 就是內部類的簡化寫法 前提 存在乙個介面或者是乙個類 這裡的類可以是抽象的也可以是具體的類 格式 new 類名或者介面名 匿名內部類的本質 是乙個匿名物件或者是實現了該介面的的子類的匿名物件,inte ce inter class outer public void sho...

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...