Java 中的靜態與非靜態嵌套類
嵌套類,也稱為內部類,提供了一種對相關類別進行分組的方法在單一來源檔案中。但是,靜態巢狀類別和非靜態巢狀類別之間存在關鍵差異。
靜態巢狀類別
與非靜態巢狀類別不同,靜態巢狀類別沒有存取權限到封閉類別的非靜態欄位或方法。它們是使用封閉類別中的 static 關鍵字聲明的。
public class OuterClass { private int x; public static class StaticNestedClass { public void doSomething() { // Cannot access 'x' as it is non-static } } }
非靜態巢狀類
非靜態巢狀類,也稱為內部類,具有存取封閉類的靜態和非靜態成員。他們可以直接存取非靜態欄位和方法,以及使用 OuterClass.staticMember 語法存取靜態成員。
public class OuterClass { private int x; public class NonStaticNestedClass { public void doSomething() { System.out.println(x); } } }
主要差異
範例用法
以上是Java 中靜態和非靜態巢狀類別的主要差異是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!