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 中国語 Web サイトの他の関連記事を参照してください。