1:內部類
(1)把類定義在另乙個類的內部,該類就被稱為內部類。
舉例:把類b定義在類a中,類b就被稱為內部類。
(2)內部類的訪問規則
a:可以直接訪問外部類的成員,包括私有
b:外部類要想訪問內部類成員,必須建立物件
(3)內部類的分類
a:成員內部類
b:區域性內部類
(4)成員內部類
a:private 為了資料的安全性
b:static 為了訪問的方便性
成員內部類不是靜態的:
外部類名.內部類名 物件名 = new 外部類名.new 內部類名();
成員內部類是靜態的:
外部類名.內部類名 物件名 = new 外部類名.內部類名();
(5)區域性內部類
a:區域性內部類訪問區域性變數必須加final修飾。
b:為什麼呢?
因為區域性變數使用完畢就消失,而堆記憶體的資料並不會立即消失。
所以,堆記憶體還是用該變數,而改變量已經沒有了。
為了讓該值還存在,就加final修飾。
通過反編譯工具我們看到了,加入final後,堆記憶體直接儲存的是值,而不是變數名。
(6)匿名內部類
a:是區域性內部類的簡化形式
b:前提
存在乙個類或者介面
c:格式:
new 類名或者介面名()
d:本質:
其實是繼承該類或者實現介面的子類匿名物件
(8)匿名內部類在開發中的使用
我們在開發的時候,會看到抽象類,或者介面作為引數。
而這個時候,我們知道實際需要的是乙個子類物件。
如果該方法僅僅呼叫一次,我們就可以使用匿名內部類的格式簡化。
inte***ce person
class persondemo
}class persontest
});}
}
JAVA中的內部類 方法內部類
方法內部類就是內部類定義在外部類的方法中,方法內部類只在該方法的內部可見,即只在該方法內可以使用。由於方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和 static 修飾符。下邊的例子 外部類 public class helloworld 建立方法內部類的物件 min...
內部類概述
就是在乙個類中定義另外乙個類 在a類中定義乙個b類,那麼將b類就稱為a類的內部類,a類就是b類的外部類 內部類是可以訪問外部類的成員,包括私有 外部類成員要想訪問內部類成員必須通過建立內部類物件來訪問。內部類的分類 1 成員內部類 在外部類的成員位置定義的類 2 區域性內部類 在區域性位置 外部類的...
Java中內部類
內部類的規則 1.內部類可以直接訪問外部類中的成員,包括私有。之所以可以直接訪問外部類中的成員,是因為內部類中持有乙個外部類的引用,格式 外部類名.this 2.外部類要訪問內部類,必須建立內部類物件 訪問格式 1.當內部類定義在外部類的成員位置了,而且非私有,可以在外部其他類中。可以直接建立內部類...