我正在尝试在 searchTree 类中编写递归方法,并且由于某种原因,这些方法正在接口中的类外部查找方法的定义,而不是查看它们自己。以下是一些代码片段:
在主类:
public class BinarySearchTree<T extends Comparable<T>> implements BinarySearchTreeInterface1<T>, BinarySearchTreeInterface2<T>{`
Main 中的递归方法:
public int getHeight(){
if (isEmpty()){
return 0;
}else{
int height = 1 + Math.max(this.getLeftSubTree().getHeight(),
this.getRightSubTree().getHeight());
return height;
}
}`
如您所见,我有两个接口类。该错误强调 getHeight() 并指出:
cannot find symbol
symbol: method getHeight()
location: interface BinarySearchTreeInterface1<T>
where T is a type-variable:
T extends Comparable<T> declared in class BinarySearchTree
我在 Interface2 文件中显示了 5 个递归方法,它们都得到了同样的错误。感谢您的任何帮助。
更新:我很犹豫是否发布接口课程,因为它们来自大学课程,我不想让讲师感到不安。具有讽刺意味的是,非递归方法工作得很好。这是 Interface2 文件显示的一小部分内容:
public interface BinarySearchTreeInterface2<T>{
public int getNumberOfNodes();
public int getHeight();