Java學習之內部類

2021-07-30 16:47:16 字數 1368 閱讀 8385

把類a定義在類b的內部,類a 就被稱為內部類

a:內部類可以直接訪問外部類成員,包括私有

b:外部類要訪問內部類額成員,必須建立物件

1、根據位置

成員位置:成員內部類

區域性位置:區域性內部類

2、成員內部類

外界建立物件:

外部類名.內部類名 物件名 = 外部類物件.內部物件

3、內部類關鍵字限定

a:private 為了給我們訪問資料的安全性

內部類舉例:

body,heart

//a:private 為了我們訪問資料的安全性

class body

} public void method()

}}

直接訪問:

body.heart bh = new body().new heart();

bh.operator();

為了身體的安全,外界是不能讓他們直接建立物件。通過private進行修飾。

這個時候就可以這樣來使用:

body b = new body();

b.method();

b:static 為了我們訪問資料的方便性

舉例:

class outer 

public static void show2() }}

class innerclassdemo3

}

4、區域性內部類

a:可以直接訪問外部類的成員,包括私有

b:在成員方法中建立區域性內部類的物件,呼叫區域性內部類的功能

從內部類中訪問本地變數number; 需要被宣告為最終型別?為什麼區域性內部類訪問區域性變數必須加final修飾呢?

因為區域性變數會隨著方法的呼叫完畢而消失,這個時候,區域性物件並沒有立馬從堆記憶體中消失,還要使用那個變數。為了讓資料還能繼續被使用,就用fianl修飾,這樣,在堆記憶體裡面儲存的其實是乙個常量值。

5、匿名內部類 沒有名字的區域性內部類,就是內部類的簡化寫法

前提:存在乙個類或者介面,這裡的類可以是具體類也可以是抽象類。

格式:new 類名或者介面名() ;

本質:是乙個繼承了類或者實現了介面的子類匿名物件。

舉例:

//建立乙個介面

inte***ce animal

//建立乙個外部類

class outer2

//匿名內部類本質:就是乙個繼承了類 ,或者實現了介面 ,的子類或者實現類的匿名物件

new animal()

}.eat(); }}

public class innerclassdemo2

}

Java之內部類

1 內部類的概念 宣告在另外乙個類裡面的類就是內部類。2 內部類的4種形式 1 靜態內部類 2 非靜態成員內部類 3 區域性內部類 4 匿名內部類 1 語法格式 在匿名子類中呼叫父類的無參構造 new 父類 在匿名子類中呼叫父類的有參構造 new 父類 實參列表 介面沒有構造器,這裡表示匿名子類呼叫...

Java之內部類

內部類 inner class 就是定義在另外乙個類裡面的類。與之對應,包含內部類的類被稱為外部類。內部類的主要作用如下 內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許同乙個包中的其他類訪問該類 內部類的方法可以直接訪問外部類的所有資料,包括私有的資料 內部類所實現的功能使用外部類同樣...

Java學習筆記之內部類

類的第五個成員 內部類 innerclass 相當於說,我們可以在類的內部再定義類。外面的類,外部類。裡面定義的類 內部類。內部類的分類 成員內部類 宣告在類內部且方法外面 vs 區域性內部類 宣告在類的方法裡 成員內部類 區域性內部類 關於內部類需要掌握的知識 如何建立內部類物件 如何區分呼叫外部...