HashMap继承AbstractMap又实现Map
来源:14-3 组合模式源码解析(jdk+mybatis)
海与千巷
2021-03-24
老师,想请问下:
HashMap继承了AbstractMap,而AbstractMap本身也是实现了Map的,
那么HashMap为什么还要显式的实现Map接口?
在很多源码里都看到类似的情况,这样做有什么用意吗?
写回答
1回答
-
同学 你好
其实据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
112021-03-29
相似问题