根据内部类的位置、修饰符和定义的方式可分为成员内部类、 静态内部类、 方法内部类。
一、 成员内部类
在成员内部类中, 可以访问外部类中的所有成员。如果想通过外部类去访问内部类,则需要通过外部类对象去创建内部类对象,创建的语法如下:
外部类名.内部类名 变量名 = new 外部类名().new 内部类名();
注意:如果内部类被声明为私有,外界将无法访问
二、静态内部类
静态内部类可以在不创建外部类对象的情况下被实例化。创建静态内部类对象的具体语法如下:
外部类名.内部类名 变量名 = new 外部类名.内部类名();
注意: 在静态内部类中只能访问外部类的静态成员。在非静态的内部类中不允许定义静态的成员。
三、方法内部类
方法内部类指的是在成员方法中定义的类, 它只能在当前方法中被使用,也可以访问外部类的成员变量。