https://www.cnblogs.com/chenssy/p/3388487.html
1.成员内部类,内部类作为一个类的成员函数存在。根据修饰符的不同这个内部类的可见性也是不同的。常用的是默认的default,public。内部类的创建依赖于外部类,需要先new 一个外部类出来
4.静态内部类,静态内部了类的例子可以参见,ThreadLocal的用法,ThreadLoca类定义中有一个静态内部类,ThreadLocalMap。
1、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。
2、在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。
4、内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。
5、内部类提供了更好的封装,除了该外围类,其他类都不能访问。
使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。