定義:內部類是指在乙個外部類的內部再定義乙個類。
內部類作為外部類的成員,並且依附於外部類而存在。
內部類可為靜態,可用protected和private修飾,而外部類只能使用public和預設的包訪問許可權。
內部類有4中形式:靜態內部類、成員內部類、區域性內部類、匿名內部類
靜態內部類:
1)使用static修飾,宣告在類中。
2)靜態內部類中可以剛問外部類的靜態成員。
靜態內部類的使用方法如下圖所示:
成員內部類:
1)宣告在類中,不使用static修飾,具有類的成員特性,也就是,必須有類的例項才能建立內部類例項。
2)成員內部類例項可以訪問共享外部類的成員變數。
3)成員內部類中不能存在static修飾的方法、屬性或者**塊等
成員內部類的使用方法如下圖:
區域性內部類:
把類宣告在方法中就是區域性內部類,作用域僅為所在的方法,類似區域性變數。
區域性內部類的使用方法如下圖所示:
匿名內部類:
1)匿名內部類可以寫在任何地方,就像一般的語句。
2)語法一般為:*** *** = new ***()
3)匿名類是對原類的繼承,同時建立了例項,{}內部就是繼承後的類體。類體中可以使用原類的所有語法。
4)匿名類中不可以寫構造器
5)匿名類可以從抽象類或者介面繼承,必須提供抽象方法的實現。
匿名內部類的使用方法如下圖所示:
JAVA學習 內部類
靜態成員不能訪問非靜態成員。內部類可以訪問外部類private成員,反之不成立。非靜態內部類不能擁有靜態成員。介面內部類預設為public static。子類繼承內部類父類,會自動呼叫非靜態內部類構造器,此時子類構造器必須存在乙個外部類物件。inte ce jiekou abstract class...
Java內部類 Java例項內部類
例項內部類是指沒有用 static 修飾的內部類。示例 如下 public class outer 上述示例中的 inner 類就是例項內部類。例項內部類有如下特點。1 在外部類的靜態方法和外部類以外的其他類中,必須通過外部類的例項建立內部類的例項。public class outer inner1...
Java內部類 靜態內部類
靜態內部類是外部類的靜態成員,不依賴於外部類的物件而存在,因此在外部類外面建立靜內部類物件時不需要首先建立外部類的物件 靜態內部類也可以稱為靜態巢狀類或頂級巢狀類。靜態內部類與外部類物件之間不存在著對成員的共享關係,靜態內部類其實已經脫離了外部類的控制 static關鍵字只是說明其在建立物件的時候不...