1,内部类拥有其外围类的所有元素的访问权。
2,创建内部类的对象必须要使用其外围类的对象,嵌套类(静态内部类)则不需要。
3,可以再一个方法里面或者任意的作用域类定义内部类,前者称为局部内部类。
4,使用内部类的原因:
a,内部类继承自某个类或实现某个接口,内部类操作创建它的外围类的对象,所以可以认为内部类提供了某种进入外围类的窗口。
b,每个内部类都能独立地继承自一个接口的实现,所以无论外围类是否已经继承了某个接口的实现,对于内部类都没有影响。
c,内部类可以实现“伪多继承”,内部类允许继承多个非接口类型。
5,某些时候选择局部内部类而不是匿名内部类的理由是:
a,需要具名的构造器
b,需要不止一个该内部类的对象