Erklärung
1. Interne Klassen können in statische interne Klassen und nicht statische interne Klassen unterteilt werden.
2. Nicht statische innere Klassen sind unterteilt in: innere Mitgliedsklassen, innere Methodenklassen, anonyme innere Klassen usw.
Instanzen
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(); } }
Das obige ist der detaillierte Inhalt vonWelche zwei Arten von inneren Java-Klassen gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!