我的项目中有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]);
我之前已经实例化了其他类型,并且它始终有效。但是,现在,我从这个问题的标题中得到了错误。任何提示将非常感激。谢谢!
编辑:节点是类中的一个嵌套类,它未在
中实例化答案 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
类的导入添加到尝试实例化它的类中。