Java自學筆記之內部類

2021-04-17 11:51:04 字數 621 閱讀 9700

巢狀類可以直接訪問巢狀它的類的成員,包括private成員,但是巢狀類的成員卻不能被巢狀它的類直接訪問。

在內部類物件儲存了乙個對外部類物件的引用,當內部類的成員方法中訪問某一變數時,如果在該方法和內部類中都沒有定義過這個變數,內部類中對this的引用會被傳遞給那個外部類物件的引用。

如果用static修飾乙個內部類,這個類就相當於是乙個外部定義的類,所以static的內部類中可宣告static成員,但是,非static的內部類中的成員是不能宣告為static的。static的內部類不能再使用外層封裝類的非static的成員變數。

如果函式的區域性變數(函式的形參也是區域性變數),內部類的成員變數,外部類的成員變數重名,我們應該按下面的程式**所使用的方式來明確指定我們真正要訪問的變數。

public class outer}}

內部類被外部引用

class outer}}

public class testinner

}巢狀類並非只能在類裡定義,也可以在幾個程式塊的範圍之內定義內部類。例如,在方法中,或甚至在for迴圈體內部,都可以定義巢狀類 。

在方法中定義的內部類只能訪問方法中的final型別的區域性變數,用final定義的區域性變數相當於是乙個常量,它的生命週期超出方法執行的生命週期。

Java之內部類

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

Java之內部類

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

Java學習筆記之內部類

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