内部类提供了某种进入其外围类的窗口
我们都知道接口是允许多继承的,而类或抽象类都只能单继承
但是内部类允许继承多个非接口类型。
内部类的一些特性:
内部来可以有多个实例,每个实例都有自己的状态信息,并且与其外围类对象的信息相互独立。
在单个外围中,可以让多个内部类以不同的方式实现同一个接口,或继承同一个类。
创建内部类对象的时刻并不依赖于外围类对象的创建
内部类并没有令人迷惑“is-a”关系;它就是一个独立的实体
内部类最吸引人的原因:
每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对内部类都没有影响