原问题链接:https://stackoverflow.com/questions/11175058/why-does-hashmap-implement-map-if-it-extends-abstractmap
先总结:平时不要像这么写,因为的确没有用(只有一个标识的作用),除非你真在某些方面及其依赖Class类getInterefaces方法的结果
也许它与生成 javadoc 的方式有关?要知道 Java API 如何告诉实现接口或从其他类继承的所有具体类吗?虽然我同意在运行时它是多余的,但我可以看到这将如何简化 javadoc 的自动生成。这当然只是一个疯狂的猜测。
当所有接口都在同一级别时,虽然它确实使动态代理更容易创建,但您始终可以反射性地遍历类层次结构(很容易,因为 Java 是单继承)并找出父类的所有接口.。
Josh Bloch 告诉这是一个错误。很久以前,他曾经认为它有一些价值,但后来他“看到了曙光”。显然 JDK 维护者认为这不值得以后退出。