內部類 畢向東Java基礎教程學習筆記

2021-07-30 03:58:18 字數 922 閱讀 3328

內部類的訪問規則

1. 內部類可以直接訪問外部類的成員,包括私有。

之所以可以直接訪問外部類的成員,是因為內部類中持有外部類的引用,格式:外部類名.this

2.外部類要訪問內部類,必須建立內部類物件。

訪問格式:

1.當內部類定義在外部類的成員位置上並且非私有時,可以在外部其他類中,直接建立內部類的物件。

格式:外部類名.內部類名 變數名=外部類物件.內部類物件;

如:outer.inner in=new outer().new inner();

2.當內部類在成員位置上,就可以被成員修飾符所修飾。

比如private:將內部類在外部類中進行封裝。

static:內部類就具備了static的特性。

當內部類被static修飾後,只能訪問外部類的靜態成員,出現了訪問侷限。

在外部其他類中,如何直接訪問static內部類的靜態成員呢?

outer.inner.function();(inner 是靜態的,可以直接通過外部類名outer來訪問;function也是靜態的,可以直接通過其所在類的類名inner訪問。)

注意:如果在內部類中定義了靜態成員,則該內部類必須也是靜態的。

當外部類中的靜態方法中需要訪問內部類時,內部類必須也是static的。

3.因為內部類可以定義在外部類中任意的位置。

當內部類被定義在區域性時(比如,在方法中):

1.不可以被成員修飾符修飾。

2.可以直接訪問外部類中的成員,因為還持有外部類的引用。

但不可以訪問它所在的區域性區域中的變數,除非該變數被final修飾。

什麼時候需要使用內部類?

當描述事物時,事物的內部還有事物,在內部的事物就用內部類來描述,因為內部事物需要使用外部事物的內容。

匿名內部類 畢向東java基礎教程學習筆記

1.匿名內部類其實就是內部類的簡寫形式。2.定義匿名內部類的前提 該內部類必須繼承乙個類,或者實現乙個介面。3.匿名內部類的格式 new 父類名或介面名 4.其實匿名內部類就是乙個匿名子類物件,把定義類和建立物件合成乙個步驟了,而且這個物件有點 胖 也可以理解為帶內容的物件。5.匿名內部類中的方法最...

java基礎 內部類

一 內部類 將乙個類定義在另乙個類的裡面,對裡面那個類就稱為內部類 內建類,巢狀類 非static內部類可以直接訪問外部類中的成員,包括私有成員。原因 因為內部類中持有了乙個外部類的引用,引用的格式為 外部類名.this 非靜態內部類不能定義static成員 1 內部類定義在外部類的成員位置上 方法...

java基礎《內部類》

一 內部類的訪問規則 1.內部類可以直接訪問外部類中的成員,包括私有 之所以可以直接訪問外部類中的成員,是因為內部類中持有了乙個外部類的引用 格式 外部類名.this 2.外部類要訪問內部類,必須建立內部類物件 訪問格式 1.當內部類定義在外部類的成員位置上,而且非私有,可以在外部其他類中,可以直接...