匿名內部類

2021-07-11 22:50:08 字數 711 閱讀 9363

匿名內部類是一種只需要使用一次的類,建立匿名內部類時會立即建立乙個該類的例項,這個類的定義立即消失,匿名內部類不能重複使用。

匿名內部類的語法格式如下:

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

匿名內部類必須實現乙個介面,或繼承乙個父類。

匿名內部類不用class,他在定義時直接生成了他的物件,因為匿名內部類沒有類名,所以匿名內部類不會有自己的構造器,因為匿名內部類是一次性的,所以匿名內部類也不能是抽象類,他必須實現抽象父類和介面的所有抽象方法,在適當的時候也可以重寫父類的普通方法。eg:

abstract class abstractclass//抽象類

public abstract string a();

}

inte***ce inte***ce//介面

public class anonymous

public static void main(string args)

public string a()

};anonymous am = new anonymous();

am.test(a, new inte***ce()

});}}

顯示結果為:

匿名內部類的初始化塊

重寫父類的抽象方法

介面的抽象方法

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 outer.this.x 外部類訪問內部類成員,需要宣告內部類的物件。其他類訪問內部類方法 當內部類處在成員變數的位置時,就...

內部類 匿名內部類

把類定義在其他類的內部,這個類就叫內部類。內部類分為 成員內部類 區域性內部類。內部類訪問特點 內部類可以直接訪問外部類的成員,包括私有。外部類訪問內部類的成員,必須建立物件。區域性內部類是定義在乙個方法或者乙個作用域裡面的類。public class outer 在區域性位置建立內部類物件,調內部...

內部類 匿名內部類

package org.lgy.study.innerclass public class anonymoustest public static void main string args public string getname public double getprice inte ce p...