无法实例化类型节点

Cannot Instantiate the type Node

我的项目中有 2 个 classes。其中一个 classes 具有 class 和节点的构造函数:

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;
    }
}

另一个class需要实例化一个节点。我就是这样做的:

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

我以前实例化过其他类似的类型,它总是有效。但是,现在我从这个问题的标题中得到了错误。任何提示将不胜感激。谢谢!

编辑:节点是 class 中的嵌套 class,它未在

中实例化

尝试删除 class Node

static 修饰符
public class Node{
...

另外,注意 public 应该是小写的

编辑:回顾一下你的措辞,它看起来像是一个嵌套的静态 class,所以这是你实例化它的方法

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

如果您不想键入所有这些,只需静态导入 Node

import static yourPackage.OuterClass.Node;

现在您之前的代码应该可以正常工作了

I have 2 classes in my project. One of these classes has the class and contructor for Node

如果 Node 是嵌套的 class,正如这句话所暗示的,您应该使用 :

实例化它
ContainingClass.Node root = new ContainingClass.Node (distArray[0], adArray[0]);

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