第七週學習報告

muxin1630發表於2024-08-17

又經過了一週的學習,今天對本週學習進行總結
成員內部類
·訪問外部類的成員i:成員內部類可以訪問外部類的所有成員(包括私有成員),而無需任何特殊條件。
·建立例項:要建立成員內部類的例項,你需要先建立外部類的例項,然後透過這個外部類的例項來建立內部類的例項。
·持有外部類的引用:成員內部類隱式地持有一個指向其外部類例項的引用。在成員內部類中,你可以透過外部類名.this來訪問外部類的當前例項。
·不能定義靜態成員:成員內部類不能包含靜態成員(除了靜態常量),因為靜態成員屬於類本身,而成員內部類依賴於外部類的例項。
靜態內部類
·不依賴於外部類的例項:靜態內部類可以獨立於外部類的例項而存在。你可以在不建立外部類例項的情況下建立靜態內部類的例項。
·不能訪問外部類的非靜態成員:由於靜態內部類不依賴於外部類的例項,因此它不能訪問外部類的非靜態成員(包括非靜態變數和非靜態方法)。但是,它可以訪問外部類的靜態成員。
·可以包含靜態成員:靜態內部類可以包含靜態成員(變數、方法、內部類等)。
名稱空間和封裝:靜態內部類提供了一種將類組織在一起的方式,同時保持了它們的獨立性和封裝性。
區域性內部類
·作用域限制:區域性內部類的可見性和作用域被限定在其宣告的方法或程式碼塊中。一旦退出該方法或程式碼塊,區域性內部類的例項將不再存在,且無法被訪問。
·不能包含靜態成員:由於區域性內部類的作用域限制,它不能包含靜態成員(除了靜態常量,但通常不推薦這樣做,因為靜態常量在類載入時初始化,而區域性內部類的生命週期遠小於類載入的生命週期)。
·訪問外部類的成員:區域性內部類可以訪問外部類的所有成員,包括私有成員,但它只能訪問那些在其宣告時可見的成員
匿名內部類
·沒有名稱:匿名內部類沒有名稱。
·只能使用一次:通常,匿名內部類用於建立一個類的單次例項,並立即使用它。
·必須是區域性類:匿名內部類必須定義在方法或程式碼塊內部,不能作為成員內部類或靜態內部類。
·自動繼承或實現:匿名內部類會隱式地繼承一個類(如果指定了)或實現一個或多個介面。
·不能包含靜態成員:由於匿名內部類是區域性類,因此它不能包含靜態成員。