貌似这个问题有点白痴了,
但是我有些问题想不全,希望大家给点想法。比如Map是个接口
    |
    |-HashMap类实现了他。
最后呢LinkedMap同时继承和实现了上述的接口和类。为什么还要实现接口呢,不实现不是也可以麽?大家说说吧。

解决方案 »

  1.   

    好像带Map的都实现了Map接口 是不是出于易于辨别的考虑呢。。
      

  2.   

    很直接的原因,HashMap实现了的抽象方法,LinkedMap不满意,想要重写。
    This implementation differs from HashMap in that it maintains a doubly-linked list running through all of its entries. This linked list defines the iteration ordering, which is normally the order in which keys were inserted into the map (insertion-order). 
      

  3.   

    是LinkedHashMap
    如果只是继承 Map里的方法就可以不用实现
    如果实现接口 Map里的方法就必须实现
      

  4.   

    嗯,只是为了表示,LinkedMap是Map的直接子类吧.关系有点乱了?爷爷怎么成了爸爸了?
      

  5.   

    应该是方便Map接口调用LinkedMap类的实例
    Map map = new LinkedMap();
      

  6.   

     一方面估计方便使用容易辨别,还有一方面估计是有些方法LinkedHashMap 不满意HashMap的实现
    直接实现了接口Map,还有一些方法LinkedHashMap直接用自HashMap吧,或者重写其中一些方法
    ...
      

  7.   

    应该是方便于直接 new 吧,继承HashMap 为了功能扩充。
      

  8.   

    刚才说错了,是LinkedHashMap不是LinkedMap
    没有LindedMap。
    lz说错了吧
      

  9.   

    LZ给我留了言 与上面各位所说 如果LinkedHashMap觉得HashMap中有些方法不好 可以implement Map这个接口来实现 但是也完全可以重写HashMap中这些不如意的方法啊  所以这不是必然的原因如果留意一下LinkedHashMap类和HashMap类中的方法 就会发现这两个类从Map中直接继承的方法是不一样的 也就是说Map接口中的有些方法能满足LinkedHashMap的需要 但是HashMap重写了这个方法 从而导致了LinkedHashMap必须要再implement Map这个接口我想这是才是真正的原因吧  而不是想楼上说的 那样出于多态的考虑  你可以验证下 如果直接extends HashMap类 而不implement Map接口  还是可以实现多态的 也能实现面向接口的编程如有不正确的地方 欢迎指正
      

  10.   


    extends HashMap类 而不implement Map接口,而直接重写那么不一样的方法不可以吗?
      

  11.   

    Map既然是个接口 并没有方法的实现 何来Map接口中的有些方法能满足LinkedHashMap的需要 但是HashMap重写了这个方法 从而导致了LinkedHashMap不实现不行的说法?我的意见就是这么写就是为了简单明了 为了好看 让大家都知道LinkedHashMap是实现了Map接口的 省得你再去看他的父类
      

  12.   

    我是LZ,关注大家的留言,总结了一下,我感觉还是不是很同意“justinavril(微笑猴子) ”的看法。就是像楼上所说:我感觉不实现Map接口,即使Map a = new LinkedHashMap();绝对是没有问题的。所以还是没有最终答案。大家继续。
      

  13.   

    Map里有现成的 就直接拿过来用  何必重写呢
      

  14.   

    Map里有现成的 就直接拿过来用  何必重写呢
      

  15.   

    是LinkedHashMap 
    如果只是继承 Map里的方法就可以不用实现 
    如果实现接口 Map里的方法就必须实现
      

  16.   


    implements Map,就可以直接拿过来用了?从Map拿过来的那些抽象的方法?没有明白你的意思.
      

  17.   

    我觉得实现map接口没有实际意义,可能只是为了增加该类的可读性,一看到代码就知道
    实现了map接口而不是查看hashmap再查看hashmap的接口(个人意见哈)
      

  18.   

    本菜鸟觉得可能linkedMap 即想利用hashMap里面的方法,又想重写另一些方法
      

  19.   

    用接口的目的就是规定一个类型,就如map接口,起子类都叫做map类型的。
    这样有利于,面向接口(抽象)编程。多了解设计模式,就知道为什么这样实现了。推荐java与模式这本书