ArrayList继承了AbstractList为何还要实现List接口
ArrayList继承了AbstractList为何还要实现List接口?
相关的问题:
-
Vector既然继承了AbstractList为啥还要实现List接口
-
HashMap继承了AbstractMap为何还要实现Map接口?
-
HashSet继承了AbstractSet为何还要实现Set接口?
看了网上很多回答 总结一下:
-
class.getinterfaces()
返回不同的结果,方便基于List接口的代理 -
增加可阅读性,显示的实现List 接口
-
AbstractList 已经大多方法都已经实现,ArrayList可以不做任何事 就可以使用,为了强制ArrayList重写代码
所以实现了List接口
-
作者犯了错误....
都挺有道理,最后在StackOverflow 看到答案. 原文,竟然真的是写错了, 回复者自称问过 java collection 的作者 Josh ,并得到上述答案....,挺有意思,至于后来更新为什么没有去掉,可能真的觉得:"嗯?!,挺有道理!"