通用BST扩展另一个泛型类的正确声明?

时间:2014-05-22 23:00:31

标签: java generics binary-search-tree

采用包含通用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));
    }
}

0 个答案:

没有答案