子类和父类实现同一个接口的意义

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/s3395719/article/details/78140088

在阅读Java.util.ArrayList源码的过程中,我产生了一个小疑惑,ArrayList实现了List这个接口(这没问题,学Java的都知道),但ArrayList的抽象父类AbstractList同样实现了List接口。


想了很久这样设计有什么特别的作用? 父类已经实现了接口,子类继承父类的所有方法,同样能实现接口的所有方法啊,完全没必要子类再去实现该接口!

这样做没有任何的作用,但是Java源码应该不会犯这么低级的错误吧?


带着疑问上网搜索了一番,发现已经有些人提出了相似的提问。


根据网上相关的问题答案和自己在eclipse的测试。


最后得出的结论是:效果上没什么特别用途,仅仅是为了让人阅读源码时知道子类实现了该核心接口。就像很多人都知道 ArrayList实现了List接口就够了,而不需要知道它继承AbstractList的相关细节。



猜你喜欢

转载自blog.csdn.net/s3395719/article/details/78140088
今日推荐