HashMap继承AbstractMap又实现Map

来源:14-3 组合模式源码解析(jdk+mybatis)

海与千巷

2021-03-24

老师,想请问下:
HashMap继承了AbstractMap,而AbstractMap本身也是实现了Map的,
那么HashMap为什么还要显式的实现Map接口?

在很多源码里都看到类似的情况,这样做有什么用意吗?

写回答

1回答

geelylucky

2021-03-24

同学 你好

   其实据java集合框架的创始人Josh Bloch描述,这样的写法是一个失误。在java集合框架中,类似这样的写法很多。stack overflow上面也进行过提问,而且找到了真正的答案


       从这个问题我们可以看到,Josh Bloch承认这是一个失误,最开始写java集合框架的时候,他认为这样写,在某些地方可能是有价值的,直到他意识到错了。显然的,JDK的维护者,后来不认为这个小小的失误值得去修改。所以就这样存在下来了。

原文链接:https://blog.csdn.net/zhangzl1012/article/details/73521987

https://stackoverflow.com/questions/2165204/why-does-linkedhashsete-extend-hashsete-and-implement-sete

1
1
海与千巷
非常感谢!
2021-03-29
共1条回复

Java设计模式精讲-Debug方式+内存分析

系统学习设计原则,设计模式,锤炼编码内功,赢取高薪Offer

3430 学习 · 407 问题

查看课程