類小結3 介面 內部類

2021-07-12 01:04:33 字數 720 閱讀 7030

內部類提供了更好的封裝,把內部類隱藏到外部類之內,不允許同乙個包中的其他類訪問該類,也可以使用private將內部類隱藏起來;

定義為static的內部類稱為靜態內部類;非靜態內部類不能宣告static成員,只有靜態的內部類可以宣告static成員,且可以訪問外部類的靜態成員或靜態方法,

內部類可以直接訪問外部類的私有成員,因為內部類被當作外部類的成員;

外部類不能訪問內部類的實現細節,例如內部類的屬性;

沒有名稱的內部類,稱為匿名類,適用於建立那些僅需要一次使用的內部類;

內部類可以使用static或非static修飾,也可以使用各種訪問控制符修飾;

內部類是其所在的外部類的乙個成員,內部類物件不能單獨存在,它必須依賴乙個外部類物件:

outerclass os = new outerclass();

outerclass.innerclass ic = os.new innerclass();

定義匿名類無需關鍵字class,而是在定義匿名類時直接生成該匿名類的物件。

匿名類不能是抽象類,因為系統建立匿名類時直接建立匿名類物件,因此不允許將匿名類定義為抽象類。

匿名類不能定義構造方法(因為匿名類沒有類名,所以無法定義構造方法),但是可以定義例項初始化塊,通過例項初始化塊來完成構造方法需要完成的事情。

new 父類構造方法名(【實參列表】| 【實現的介面】)

8 介面和內部類

1.定義介面裡面的方法只能是抽象方法 預設抽象方法 且沒有方法體。預設都是public abstract 2.乙個類可以實現多個介面 多繼承效果 3.多個類可以實現同乙個介面 4.介面裡面不能有建構函式,而且不能例項化。5實現乙個介面必須實現裡面所有的方法。6.介面裡面必須進行賦值例項,如int 1...

作業06 介面 內部類

內部類 匿名類 lambada表示式 不能成功,會報錯說clone方法對employee不可見。因為clone方法修飾限定為protected,只有本包或者子類可以訪問,修改將clone方法限定為public。因為object類可以是任何乙個類的父類,而如果clone方法被宣告為public,那麼任...

類(四) 介面繼承

摘要 什麼是介面?電腦的開機鍵,就是乙個介面。當按下開機鍵,開機相關的一系列檔案自動執行。基類中定義了n個函式屬性 介面 所有子類中必須包含這n個函式,比如開機介面中的多個檔案 功能 都需要執行,如果少乙個,可能就無法開機。類的介面繼承框架。引入abc模組,對子類進行強制約束。即子類必須包含基類中的...