社区
Java EE
帖子详情
请问jdk中HashMap既然继承了AbstractMap
,为何还要实现Map
接口,从设计上说重复的实现接口有什么好处
Java地带@道圣科技
企业官方账号
2011-09-21 09:32:11
1. AbstractMap<K,V> implements Map<K,V>
2. HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>
请问jdk中HashMap既然继承了AbstractMap<K,V>,为何还要实现Map<K,V>接口,
从设计上说重复的实现接口有什么好处吗?
...全文
280
10
打赏
收藏
请问jdk中HashMap既然继承了AbstractMap<K,V>,为何还要实现Map<K,V>接口,从设计上说重复的实现接口有什么好处
1. AbstractMap implements Map 2. HashMap extends AbstractMap implements Map 请问jdk中HashMap既然继承了AbstractMap,为何还要实现Map接口, 从设计上说重复的实现接口有什么好处吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Java地带@道圣科技
2011-09-22
打赏
举报
回复
哦,好像有点明白了,但还得深入的去理解下,谢谢各位了
scrack
2011-09-21
打赏
举报
回复
LZ做事很认真 我想JDK这样写 就是想表示 父接口为Map 觉得没有实际意义的
龙四
2011-09-21
打赏
举报
回复
直观,直观,看代码的时候直观
绝世酱油瓶
2011-09-21
打赏
举报
回复
[Quote=引用 2 楼 yk0025 的回复:]
引用楼主 yk0025 的回复:
1. AbstractMap<K,V> implements Map<K,V>
2. HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>
请问jdk中HashMap既然继承了AbstractMap<K,V>,为何还要实现Map<K,V>接口,
从设计上说重复的实现接口有什么好处吗?
……
[/Quote]
呵呵 LZ蛮细心的 我还真没注意过这种问题。。。。学习。。。不过我猜那只是JDK上用来描述的
我刚才看了下很多类都是以那种形式写的
从父子关系来说,父类已经实现了接口,子类就应该不需要重复实现了
Java地带@道圣科技
2011-09-21
打赏
举报
回复
[Quote=引用楼主 yk0025 的回复:]
1. AbstractMap<K,V> implements Map<K,V>
2. HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>
请问jdk中HashMap既然继承了AbstractMap<K,V>,为何还要实现Map<K,V>接口,
从设计上说重复的实现接口有什么好处吗?
[/Quote]
这个自然知道,我想要知道的是:
子类父类实现同一接口有什么作用?
简单的说,下面这样的代码:
B implements A
C extends B
implements A
红色的代码有什么用?
绝世酱油瓶
2011-09-21
打赏
举报
回复
继承是继承类。。。实现是实现接口
淡定的峰哥
2011-09-21
打赏
举报
回复
你看一下map家族的源码,再比较一下就会发现
AbstractMap 是implements Map的,它里面实现了部分功能,再所有的Map的子类中都不需要重写了
HashMap 是继承了AbstractMap 并且implements Map,即HashMap完全可以只继承AbstractMap就可以
而TreeMap 是继承了AbstractMap 并且implements SortedMap,但是TreeMap只继承AbstractMap是不能代表SortedMap的
dxqrr
2011-09-21
打赏
举报
回复
我也想问同样的问题
chenliuyang
2011-09-21
打赏
举报
回复
[Quote=引用 6 楼 chenliuyang 的回复:]
是开发人员没注意到的问题吧, 实现不实现无所谓反正父类实现了
[/Quote]
说错了, 他那样实现肯定是有他道理的, 方便了在代理时候的使用。
chenliuyang
2011-09-21
打赏
举报
回复
是开发人员没注意到的问题吧, 实现不实现无所谓反正父类实现了
Hash
Map
既然
继承
了
Abstract
Map
为什么还要
实现
Map
细心的人可能对
Hash
Map
类的定义有疑问,
JDK
源码
中
是这样定义的: ...
Abstract
Map
已经
实现
了
Map
接口
,
Hash
Map
继承
了
Abstract
Map
,为什么还要
实现
Map
接口
呢? 网络上有些细心的人对这样的写法有疑问,解答
为什么
Hash
Map
继承
了
Abstract
Map
还要
实现
Map
接口
jdk
中
Hash
Map
的声明如下 publicclass
Hash
Map
<K,V> extends
Abstract
Map
<K,V>implements
Map
<K,V>, Cloneable, Serializable
Abstract
Map
的声明如下 public
abstract
class
Abstract
Map
<K,V&g....
随笔2
Abstract
Map
上一篇写了
Map
接口
的源码分析,这一篇写一下
Map
接口
的一个
实现
类
Abstract
Map
,从名字就可以看出这是一个抽象类,提供了
Map
接口
的骨架
实现
,为我们
实现
Map
接口
的时候提供了很大的便利。在这里类
中
,还有一个抽象方法...
【Java_基础深入】Linked
Hash
Map
继承
Hash
Map
又
实现
Map
接口
背后的
设计
思想
JDK
源码的类定义 public class
Hash
Map
<K,V> extends
Abstract
Map
<K,V> implements
Map
<K,V>, Cloneable, Serializable public class Linked
Hash
Map
<K,V> extends
Hash
Map
<K,V> ...
Hash
Map
扩展了
Abstract
Map
,为什么还要
实现
Map
接口
?
原问题链接:...要知道 Java API 如何告诉
实现
接口
或从其他类
继承
的所有具体类吗?虽然我同意在运行时它是多余的,但我
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章