可能重複:
Java.util.HashMap — why HashMap extends AbstractMap and implement Map?爲什麼HashMap在擴展AbstractMap時實現Map?
在Java中實現HashMap<K,V>
我們需要實現Map<K,V>
。
但是,當我在java類中調試更多時,似乎.... java定義了HashMap
類,如下所示。
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
同時我看到public abstract class AbstractMap<K,V>
實現Map<K,V>
它也實現了接口Map<K,V>
。
如果抽象類實現了接口,那麼執行Map<K,V>
在HashMap
類級別背後的原因是什麼?
根據我的理解,HashMap
類擁有從AbstractMap
繼承的所有方法,根據需要可以覆蓋HashMap
。
也許當它在Java 1.2的實現,即使超類已經IMO實現的接口所需要的類設計。 –
請參閱[this](http://stackoverflow.com/questions/11028542/why-does-atomicinteger-implements-serializable)。它指出了類似的情況 –
是的......它應該作爲副本關閉。 –