鉴于,
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
}
...
答案 0 :(得分:2)
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);
}
...
}
}