我收到以下错误:


名称冲突:AVLTree 中的add(E)和BinaryTree中的add(E)具有相同的擦除,但是两者都不覆盖另一个


我不知道问题是什么。

public class BinaryTree<E extends Comparable<E>> implements Iterable<E> {
    public class AVLTree<E extends Comparable<E>> extends BinaryTree {


两个类中的add方法都写为:

public void add(E toInsert) {


我希望我能提供所需的一切。我为此感到难过,所以任何帮助将不胜感激,谢谢。

最佳答案

看起来AVLTree是一个内部类,因此参数化的类型E是可见的。尝试这个:

public class BinaryTree<E extends Comparable<E>> implements Iterable<E> {
    public class AVLTree extends BinaryTree<E> {


我必须说,内部类扩展其包含类有点奇怪。不令人难以置信;我只是从未见过它完成。

08-19 12:14