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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM