內部類與匿名內部類

2021-06-19 14:48:39 字數 721 閱讀 7176

內部類:內建類,巢狀類。

將類定義在另乙個類中,該類就是內部類。類中定義的類中就是內部類。其實類的定義位置發生了一點小變化。

訪問方式:

內部可以直接訪問外部類中的成員。

外部類想要訪問內部類,需要建立內部類物件。

什麼時候定義內部類呢?

當分析乙個事物時,該事物的內部還有具體的事物,這個具體的事物在使用該事物中的其他成員。這時就將這個具體的事物用內部類來描述。

內部類通常都不會直接對外提供,都會封裝到外部類中,外部類一般會通過對外提供方法的形式對其進行訪問。

非靜態的內部類之所以可以直接訪問外部類中的成員,

那是因為內部類中都持有乙個外部類物件引用:外部類名.this

靜態的內部類之所以可以直接訪問外部類中的靜態成員,其實持有的是外部類名。

記住只有內部類定義在成員位置上,才可以有這些成員修飾符。

匿名內部類

匿名內部類:就沒有名字的內部類。

好處:簡化了內部類的書寫。

前提:內部類必須要繼承或者實現乙個外部類或外部介面 

匿名內部類的格式:

new 父類名或者介面()

匿名內部類其實就是乙個子類匿名物件。這是乙個帶有內容的物件,這個物件有點胖。

什麼時候使用匿名內部類呢?

當函式的引數是乙個介面型別的引用,而且該介面中的方法不超過3個。

這時可以給這個函式傳遞乙個匿名內部類實際引數進入。簡化書寫 

內部類與匿名內部類

內部類 定義 在類中定義乙個類,那麼這個類就是內部類。內部類的定義格式 成員方法 1.通過外部類方法,建立內部類物件,呼叫內部類方法。2.外部類.內部類 物件名 new 外部類 內部類 成員變數 1.外部類的成員變數,內部類中直接使用。2.內部類的成員變數,外部類不能直接訪問。需要建立內部類物件,用...

內部類,匿名內部類

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

內部類 匿名內部類

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