匿名內部類

2021-10-19 15:55:35 字數 626 閱讀 7414

匿名內部類屬於區域性內部類,匿名就是沒有名字。

如果介面的實現類,或者是父類的子類,只需要使用唯一的一次,那麼這種情況下就可以省略掉該類的定義,而改為使用【匿名內部類】。

匿名內部類的定義格式:

介面名稱 物件名 = new 介面名稱()

}; //末尾的分號不要丟

impl.method();

}}對格式「new 介面名稱() 進行解析:

1.new代表建立物件的動作

2.介面名稱就是匿名內部類需要實現哪個介面

3.這才是匿名內部類的內容

匿名內部類的注意事項:

1.匿名內部類,在建立物件的時候,只能使用唯一一次。如果希望多次建立物件,而且類的內容一樣的話,那麼就必須使用單獨定義的實現類了。

2.匿名物件,在呼叫方法的時候,只能呼叫唯一一次。如果希望同乙個物件呼叫多次方法,那麼必須給物件起個名字。

/ 使用了匿名內部類,而且省略了物件名稱,也是匿名物件

new myinte***ce()

}.method();

3.匿名內部類是省略了【實現類/子類】,但是匿名物件是省略了【物件名稱】。

強調:匿名內部類和匿名內部物件不是一回事!!

內部類,匿名內部類

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