匿名內部類

2021-05-28 16:14:55 字數 926 閱讀 1940

使用匿名內部類可以使**更加簡潔、緊湊,模組化程度更高。內部類能夠訪問外部內的一切成員變數和方法,包括私有的,而實現介面或繼承類做不到。

對於新手,總是在接受新的知識,大多時候不知道在什麼情況下使用,於是就查閱了一些資料。貼出來:

如果滿足下面的一些條件,使用匿名內部類是比較合適的:

1.只用到類的乙個例項。

2.類在定義後馬上用到。

3.類非常小(sun推薦是在4行**以下)

4.給類命名並不會導致你的**更容易被理解。

在使用匿名內部類時,要記住以下幾個原則:

1.匿名內部類不能有構造方法。

2.匿名內部類不能定義任何靜態成員、方法和類。

3.匿名內部類不能是public,protected,private,static。

4.只能建立匿名內部類的乙個例項。

乙個匿名內部類一定是在new的後面,用其隱含實現乙個介面或實現乙個類。

因匿名內部類為區域性內部類,所以區域性內部類的所有限制都對其生效。

匿名內部類的兩種實現方式:

1.繼承乙個類,重寫其方法; 2.

實現乙個介面(可以是多個),實現其方法

在這裡貼出乙個繼承類的例題:

public class testanonymousinterclass

//在這個方法中構造了乙個匿名內部類

private void show()

};anonyinter.show();// 呼叫其方法

}}

test.function().method();題眼

**如下:

inte***ce inter

class test

};} }

public class innerclassdemo

}

內部類,匿名內部類

內部類 概念 自己想到的 內部類是一種可以直接訪問外部類的一類事物 內部類訪問外部類中的成員,包括私有。之所以可以訪問外部類的成員,是因為內部類持有了外部類的乙個引用,格式為 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...