采用包含通用K和V的BST并将其扩展到包含相同类型K和V的另一个类的正确方法是什么?我所拥有的是:
public abstract class BST<K extends <Class<K,V>, V>
但这是不正确的,因为当我尝试通过在Class中定义它们来覆盖抽象方法时,我收到一条错误消息,说明&#34; BST类型中的方法[method-name]不适用于参数( K)&#34;
// Parent Class
public abstract class ParentClass<K,V> implements Iterable<K> {
...
}
// BST Class:
public abstract class BST<K,V> extends ParentClass<K,V> {
abstract boolean containsKey(K k);
}
// Sub-class of BST Class
public class OtherClass<K,V> extends BST<K,V>{
public boolean containsKey(K k) {
if (this.key.equals(k)) {
return true;
} else return (left.containsKey(k) ||
right.containsKey(k));
}
}