一般来说,内部类实现某个接口或者是继承某个类,内部类的代码操作创建它的外部对象。所以可以认为外部类提供了某种进入其外围类的窗口。如果只需要一个接口的引用,为什么不通过外部类来实现那个接口呢?答案是:如果这样能满足需求,那就应该这样做,那么内部类实现一个接口和外部类实现一个接口有什么区别呢?答案是外部类不是总能享用到接口所带来的方便,有时候需要用到接口的实现,每个内部类都能独力地继承自一个接口的实现,所以无论外部类是否已经继承了某个接口的实现,对内部类没有影响。如果没有内部类提供的,可以继承多个具体或者抽象类的能力,一些设计和编程的问题就很难解决。从这个角度上讲,内部类使多继承的解决方案完整。接口解决了部分问题。而内部类有效地实现了多继承。