1.静态内部类(static inner class):
只能访问外部类的静态成员变量和静态方法,生成静态内部类的方式为:StaticInner.Inner inner=new StaticInner.Inner();
2.成员内部类(member inner class):
A)可以当做成员变量来看待理解,可以访问外部类的静态与非静态方法和成员变量,生成成员内部类的方式:Member.MemberInner m=new Member().new MemberInner();
B)若想在成员内部类中访问外部类的变量,语法为:OutClass.this.a
3.局部内部类(local inner Class):
a) 定义在方法里面,只能访问方法中声明的final类型的变量;
b) 这个类要定义成final类型的;
c) 只能在这个方法中new出其对象,对其进行操作。
d) 注意:方法内部的局部变量或局部类都是final类型的。
4.匿名内部类(Anonymous Inner Class):
a) 没有类名,没有构造方法,但是隐式地继承一个父类或者实现一个接口。
b) 通常作为方法参数,在swing中注册监听者用的较多。