內部類(InnerClass)

1.1.1.       類中的內部類

在類裏面定義的類稱之爲內部類(Inner Class),內部類是外部類的一個成員。
創建內部類對象時必須先創建一個外部類對象,通過一個外部類對象才能創建內部類對象。Outer.Inner inner = new Outer().new Inner();
內部類可以直接訪問外部類的成員,而外部類不能直接訪問內部類的成員
內部類中不能定義靜態成員。

1.1.2.       方法中的內部類

一個類如果只在某個方法中使用,那麼可以在方法中定義。
定義在方法中的類只能在方法中使用,而且使用的代碼只能在聲明的代碼下面
方法中定義的內部類不能訪問方法中定義的局部變量,除非這個局部變量被聲明爲final的。

 

   匿名內部類

如果一個類只使用一次,那麼可以定義爲匿名內部類。
使用new 類名(){類定義}形式聲明,先創建一個類,然後根據這個類創建一個對象。
注意創建的類是指定類名的子類,繼承於這個類。

       靜態內部類

可以使用static修飾一個類中的內部類。
靜態內部類不用創建外部類對象就可以直接創建對象。Outer.Inner inner = new Outer.Inner();
靜態內部類可以定義靜態成員。
靜態內部類中不能訪問外部非靜態成員。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章