现在,我有一个导入的二叉树类。首先,我无法创建它的实例,因为构造函数要求在Node
中传递参数。问题是Node
延伸BTNode<Node>
所以我不能像以下那样只将Integer
放入通用中。二叉树类如下:
import java.util.LinkedList;
import java.util.Queue;
/**
* An implementation of binary trees
* @author morin
*
* @param <Node>
*/
public class BinaryTree<Node extends BinaryTree.BTNode<Node>> {
public static class BTNode<Node extends BTNode<Node>> {
public Node left;
public Node right;
public Node parent;
}
protected Node sampleNode;
protected Node r;
public BinaryTree(Node sampleNode) {
this.sampleNode = sampleNode;
}
//Some methods
}
最初,我尝试调用这个类:
BinaryTree<Integer> myTree=new BinaryTree<Integer>();
但有效的方法是Integer
而不是BTNode
。但困境在于,为了引用BTNode
中的BinaryTree
,我认为我需要首先实例化BinaryTree
。我可以访问BTNode
的正确方法是什么,以便将其传递给通用BinaryTree<Node>
类?