説明
1. 内部クラスは、静的内部クラスと非静的内部クラスに分類できます。
2. 非静的内部クラスは、メンバー内部クラス、メソッド内部クラス、匿名内部クラスなどに分類されます。
例
public class ClassOuter { private int noStaticInt = 1; private static int STATIC_INT = 2; public void fun() { System.out.println("外部类方法"); } public class InnerClass { //static int num = 1; 此时编辑器会报错 非静态内部类则不能有静态成员 public void fun(){ //非静态内部类的非静态成员可以访问外部类的非静态变量。 System.out.println(STATIC_INT); System.out.println(noStaticInt); } } public static class StaticInnerClass { static int NUM = 1;//静态内部类可以有静态成员 public void fun(){ System.out.println(STATIC_INT); //System.out.println(noStaticInt); 此时编辑器会报 不可访问外部类的非静态变量错 } } } public class TestInnerClass { public static void main(String[] args) { //非静态内部类 创建方式1 ClassOuter.InnerClass innerClass = new ClassOuter().new InnerClass(); //非静态内部类 创建方式2 ClassOuter outer = new ClassOuter(); ClassOuter.InnerClass inner = outer.new InnerClass(); //静态内部类的创建方式 ClassOuter.StaticInnerClass staticInnerClass = new ClassOuter.StaticInnerClass(); } }
以上が2 種類の Java 内部クラスとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。