为什么我不能成为一个内部阶级? (JAVA)

时间:2014-07-09 22:54:24

标签: java object tree

我想创建二进制搜索树并按顺序遍历树。我有以下代码:

public class BST {
    static Node root;
    public class Node{
        int data;
        Node left;
        Node right;

        Node(int data){
         this.data = data;
         left = null;
         right = null;
        }
        Node(int data, Node left, Node right){
         this.data = data;
         this.left = left;
         this.right = right;
        }
    }
    public void inOrderTraversal(Node root){
        if(root == null)
           return;
        inOrderTraversal(root.left);
        System.out.println(root.data);
        inOrderTraversal(root.right);
    }
    public static void main(String[] args) {
       Node n1 = new Node(1);
    }
 }

我怎么不用这段代码创建节点n1:Node n1 = new Node(1);我说msg说“没有封闭的InOrder类型的实例是可访问的。必须使用InOrder类型的封闭实例来限定分配(egxnew A()其中x是BST的一个实例。“有人可以解释一下我的错误在哪里以及我如何创建我的节点,分别是我的BST?

1 个答案:

答案 0 :(得分:0)

只需将Node设为静态类:

public static class Node { ...