1.1.1. 類中的內部類
在類裏面定義的類稱之爲內部類(Inner Class),內部類是外部類的一個成員。
創建內部類對象時必須先創建一個外部類對象,通過一個外部類對象才能創建內部類對象。Outer.Inner inner = new Outer().new Inner();
內部類可以直接訪問外部類的成員,而外部類不能直接訪問內部類的成員
內部類中不能定義靜態成員。
1.1.2. 方法中的內部類
一個類如果只在某個方法中使用,那麼可以在方法中定義。
定義在方法中的類只能在方法中使用,而且使用的代碼只能在聲明的代碼下面
方法中定義的內部類不能訪問方法中定義的局部變量,除非這個局部變量被聲明爲final的。
匿名內部類
如果一個類只使用一次,那麼可以定義爲匿名內部類。
使用new 類名(){類定義}形式聲明,先創建一個類,然後根據這個類創建一個對象。
注意創建的類是指定類名的子類,繼承於這個類。
靜態內部類
可以使用static修飾一個類中的內部類。
靜態內部類不用創建外部類對象就可以直接創建對象。Outer.Inner inner = new Outer.Inner();
靜態內部類可以定義靜態成員。
靜態內部類中不能訪問外部非靜態成員。