(1) 在方法间定义的非静态内部类:
●外围类和内部类可互相访问自己的私有成员。
●内部类中不能定义静态成员变量。
在外部类作用范围之外向要创建内部类对象必须先创建其外部类对象
(2) 在方法间定义的静态内部类:
●只能访问外部类的静态成员。
静态内部类没有了指向外部的引用
(3) 在方法中定义的局部内部类:
●该内部类没有任何的访问控制权限
●外围类看不见方法中的局部内部类的,但是局部内部类可以访问外围类的任何成员。
●方法体中可以访问局部内部类,但是访问语句必须在定义局部内部类之后。
●局部内部类只能访问方法体中的常量,即用final修饰的成员。
(4) 在方法中定义的匿名内部类:
●没有构造器,取而代之的是将构造器参数传递给超类构造器
当你只需要创建一个类的对象而且用不上它的名字时,使用匿名内部类可以使代码看上去简洁清楚。