內部類
(1)把類定義在另乙個類的內部,該類就被稱為內部類。
舉例:把類b定義在類a中,類b就被稱為內部類。
(2)內部類的訪問規則
a:可以直接訪問外部類的成員,包括私有
b:外部類要想訪問內部類成員,必須建立物件
(3)內部類的分類
a:成員內部類
b:區域性內部類
(4)成員內部類
a:private 為了資料的安全性
b:static 為了訪問的方便性
成員內部類不是靜態的:
外部類名.內部類名 物件名 = new 外部類名.new 內部類名();
成員內部類是靜態的:
外部類名.內部類名 物件名 = new 外部類名.內部類名();
(6)區域性內部類
a:區域性內部類訪問區域性變數必須加final修飾。
b:為什麼呢?
因為區域性變數使用完畢就消失,而堆記憶體的資料並不會立即消失。
所以,堆記憶體還是用該變數,而改變量已經沒有了。
為了讓該值還存在,就加final修飾。
(7)匿名內部類
a:是區域性內部類的簡化形式
b:前提
存在乙個類或者介面
c:格式:
new 類名或者介面名()
d:本質:
其實是繼承該類或者實現介面的子類匿名物件
(8)匿名內部類在開發中的使用
我們在開發的時候,會看到抽象類,或者介面作為引數。
而這個時候,我們知道實際需要的是乙個子類物件。
如果該方法僅僅呼叫一次,我們就可以使用匿名內部類的格式簡化。
inte***ce person
class persondemo
}class persontest
});}
}
java基礎 內部類
一 內部類 將乙個類定義在另乙個類的裡面,對裡面那個類就稱為內部類 內建類,巢狀類 非static內部類可以直接訪問外部類中的成員,包括私有成員。原因 因為內部類中持有了乙個外部類的引用,引用的格式為 外部類名.this 非靜態內部類不能定義static成員 1 內部類定義在外部類的成員位置上 方法...
java基礎《內部類》
一 內部類的訪問規則 1.內部類可以直接訪問外部類中的成員,包括私有 之所以可以直接訪問外部類中的成員,是因為內部類中持有了乙個外部類的引用 格式 外部類名.this 2.外部類要訪問內部類,必須建立內部類物件 訪問格式 1.當內部類定義在外部類的成員位置上,而且非私有,可以在外部其他類中,可以直接...
java基礎 內部類
內部類 一 內部類的訪問規則 1,內部類可以直接訪問外部類中的成員,包括私有。之所以可以直接訪問外部類中的成員,是因為內部類中持有了乙個外部類的引用,格式 外部類名.this 2,外部類要訪問內部類,必須建立內部類物件。例子 class outer static class inner2 publi...