在子类继承的 AbstractMap.SimpleEntry 上实现一个新的接口?



给定,

public class XHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V> {
 //impl
}

我想对XHashMap进行子类化,并使其继承的SimpleEntry内部类实现一个新的接口Y

那么在这个明显的代码之后我该怎么办

public class MyXHashMap<K,V> extends XHashMap<K,V> {
    // over-ride to affect outer My intent
    // see below re: questions of My inner intent
}

正确(在 Java 中)然后影响

MyXHashMap.SimpleEntry<K,V> implements Y {
    //impl of Y
}

??

AbstractMap.SimpleEntry是一个

公共静态类,因此您可以像扩展任何其他类一样扩展它。 您可能也希望将新类设置为静态,以便您可以在MyXHashMap之外创建它的实例。

class MyXHashMap{
    ...
    @Override
    public Set<Entry<K,V>> entrySet(){
      //override entrySet() to use your Entry class

    }

    static class MySimpleEntry<K,V> extends AbstractHashMap.SimpleEntry<K,V> implements Y {
       public MySimpleEntry(K key, V value){
           super(key,value);
       }
       ...
    }

}

最新更新