說明
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(); } }
以上是java內部類別的兩種類型是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!