构造函数未定义,Eclipse说,但它的定义(Java)

时间:2014-03-19 00:09:49

标签: java eclipse

我没有得到它,为什么没有定义这个构造函数。我在这里检查一些其他类似的问题,但总有问题,他们想要在没有参数的情况下调用构造函数,而构造函数有参数。但是我的代码中没有看到这个问题。请你帮助我好吗?谢谢!

我收到错误消息:The constructor Node(int) is undefined


使用主要方法的课程:

package LLP;

public class LinkedList2Test {

public void main (String args[]){
    LinkedList2 test = new LinkedList2();

    test.add(13);
    test.add(10);
    test.add(21);
}
}

LinkedList2类

package LLP;

public class LinkedList2 {

Node head;
Node tail;

public void add(int data){

    **Node node = new Node(data);**// **THE PROBLEM is here**

    if (tail == null){
        tail = node;
        head = node;
    } else {
        tail.nextNode = node;
        tail=node;
    }
}
}

Node类

package LLP;

public class Node {
int data;
Node nextNode;

public Node (int data){
    this.data = data;
}
}

如我所见,在主要方法中,我给出一个整数,例如' 13'。 add方法接收此整数并将其称为' data' 我想用这个数据创建节点' Node的构造函数只需要一个整数,这就是数据'所以现在13例如

为什么它不起作用,我不明白......

非常感谢

5 个答案:

答案 0 :(得分:3)

我现在用eclipse几次遇到这个问题。通常有用的是 选择错误所在的行和

的序列

CTRL + X

CTRL + V

答案 1 :(得分:2)

它应该工作。我想可能是你在提供构造函数之后没有保存你的Node类,因此错误。

同样在@ mypal125中,您可能希望在static课程中使用LinkedList2Test主要方法。更改后尝试运行(运行也会自动保存所有更改)您的程序,看看是否仍有错误。

答案 2 :(得分:0)

LinkedList2类缺少构造函数。

将此添加到您的LinkedList2类:

public LinkedList2(int data){ }

答案 3 :(得分:0)

在eclipse中,我右键单击一个文件夹并选择“构建路径->用作源文件夹”后,出现错误“未定义构造函数Node(int)”。要解决此问题,我按照以下步骤操作:

  1. 重命名包含错误的类的包
  2. 使用旧文件夹(程序包)名称创建一个新文件夹
  3. 在刚刚创建的文件夹下创建所有先前存在的子文件夹
  4. 将旧类从重命名的包中移到新文件夹结构中的正确位置
  5. 一旦所有类都从重命名的程序包移至新的文件夹结构,请删除该程序包
  6. 执行项目->清理

答案 4 :(得分:-1)

这似乎是Eclipse的一个小故障。对我来说,它是在重新命名实例化的类和重构之后发生的。

对我来说,Ctrl-x Ctrl-v只能暂时使用。

对我来说有用的是关闭正在实例化的类的Editor选项卡。事实上,关闭Eclipse编辑器中的所有选项卡(并重新打开所需的那些选项卡)似乎可以清除Eclipse的混乱。