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 ,并得到上述答案....,挺有意思,至于后来更新为什么没有去掉,可能真的觉得:"嗯?!,挺有道理!"

posted @ 2020-08-19 19:24  哈哈丶丶  阅读(862)  评论(0编辑  收藏  举报