为什么HashMap扩展了AbstractMap并实现了Map?正在扩展AbstractMap是不够的,因为AbstractMap实现了Map?
答案 0 :(得分:5)
这是多余的。我怀疑它是出于“文档”原因而完成的。 HashMap实现了Map,你可以依赖它。它扩展AbstractMap的事实可以说只是一个实现细节。 (虽然HashMap的未来版本不太可能不扩展AbstractMap,因为可能某些代码需要将HashMap分配给AbstractMap。)
答案 1 :(得分:0)
这是多余的,但不会受到伤害。如果以后他们不想在Map
中实施AbstractMap
,那么它仍然会有效。
答案 2 :(得分:0)
还有一件事是AbstractMap是一个实现细节。它可能在Oracle JDK的未来版本中不存在。它可能在当前版本的IBM JDK中不存在。但是无论它是否存在,HashMap应始终符合List契约..因此,它通过指定' HashMap实现Map'
在类声明中明确捕获