重複の可能性:
Java.util.HashMap — 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