sun公司为什么要设计这个内部类呢?
1,一般来说,内部类继承自某个类或者实现某个接口,内部类的代码操作创建它的外围类的对象。所以可以认为内部类提供了某种进入其他外围类的窗口。
2,内部类必须要回答的一个问题是:
a,如果只是需要一个接口的引用,为什么不通过外围类实现那个接口呢?
答案是:“如果这能满足要求,那么就应该这样做。”那么内部类实现了一个接口与外围类实现这个接口有什么区别呢?
b,那么内部类实现一个接口与外围类实现这个接口有什么区别呢?
答案是:后者不是总能享用到接口带来的方便,有时需要用到接口的实现。
所以,使用内部类最吸引人的原因是:每个内部类都能独立的继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响的。
如果没有内部类提供的,可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。从这个角度看,内部类使得多重继承的解决方案变得完整。接口解决了部分问题,而内部类有效的实现了“多重继承”。也就是说,内部类允许继承多个非接口类型(类或抽象类)
为什么需要内部类,这里做了很详细的解答
最新推荐文章于 2023-08-15 14:16:58 发布