內部類(二)成員內部類

2021-10-03 07:58:23 字數 499 閱讀 9006

特點:

一、可以使用private,protected,public任意進行修飾。

二、作為外部類的乙個成員存在,與外部類的屬性、方法並列。可以訪問外部類的私有成員或屬性。(即使將外部類宣告為private,但是對於處於其內部的內部類還是可見的。)

三、成員內部類不能有靜態成員 ,除非宣告為final,並且只能是編譯器可以確定值的常量表示式

class

outer

}

上圖定義靜態成員d時會報錯:除非使用常量表示式初始化欄位d,否則欄位d不能在非靜態內部型別中宣告為靜態

之所以成員內部類不能有靜態成員,是因為通過outer.innerclass.c可以直接獲得內部類物件,這時成員內部類物件就完全脫離了外部類的控制!與設計成員內部類的初衷完全不符!

四、建立成員內部類物件時,其內部類物件必須先建立外部類物件。

五、當內部類和外部類有同名的成員時,內部類可通過 外部類名.this.變數名 訪問外部類成員。

內部類 成員內部類 區域性內部類 匿名內部類

public class 外部類 private int num 0 外部類如果要訪問內部類的成員,則需要通過內部類的物件訪問 使用方式 1.外部類使用內部類,主函式再使用外部類 2.通過new的方式 外部類.內部類 物件名 new 外部類 new 內部類 定義在方法內部的類,就是區域性內部類,只有...

內部類(成員內部類 靜態內部類 方法內部類)

一 成員內部類 最常見的內部類就是成員內部類,也稱作普通內部類 2 inner類中定義的test 方法可以訪問outer類中的資料,不受訪問控制符的影響。3 定義了成員內部類後,必須使用外部類物件來建立內部類物件,而不能直接去 new 乙個內部類物件,即 內部類 物件名 外部類物件.new 內部類 ...

成員內部類,區域性內部類,靜態內部類,匿名內部類

成員內部類 class demo1 innerclass a 內部類概述 b 內部類訪問特點 a 內部類可以直接訪問外部類的成員,包括私有。b 外部類要訪問內部類的成員,必須建立物件。外部類名.內部類名 物件名 外部類物件.內部類物件 class outer class demo2 innercla...