给定,
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);
}
...
}
}