无法实例化类型节点

时间:2015-03-15 07:14:23

标签: java installation nodes

我的项目中有2个班级。其中一个类具有Node的类和构造函数:

public static class Node {
    public Float key; // sorted by key
    private String val; // associated data
    private Node left; // left and right subtrees
    private Node right;
    private int N; // number of nodes in subtree

    public Node(Float key, String val) {
        this.key = key;
        this.val = val;
    }
}

另一个类需要实例化一个Node。这就是我这样做的方式:

    Node root = new Node (distArray[0], adArray[0]);

我之前已经实例化了其他类型,并且它始终有效。但是,现在,我从这个问题的标题中得到了错误。任何提示将非常感激。谢谢!

编辑:节点是类中的一个嵌套类,它未在

中实例化

2 个答案:

答案 0 :(得分:1)

尝试删除班级static

Node修饰符
public class Node{
...

另请注意,public应为小写

编辑:回顾你的措辞,它看起来像是一个嵌套的静态类,所以你要做的就是实例化这个

OuterClass.Node root = new OuterClass.Node(...);

如果您不想输入所有内容,请静态导入Node

import static yourPackage.OuterClass.Node;

现在您以前的代码应该可以正常运行

答案 1 :(得分:1)

  

我的项目中有2个班级。其中一个类具有Node

的类和构造函数

如果Node是嵌套类,如此引用所暗示的那样,您应该使用以下内容对其进行实例化:

ContainingClass.Node root = new ContainingClass.Node (distArray[0], adArray[0]);

另一种方法是将ContainingClass.Node类的导入添加到尝试实例化它的类中。