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

Eclipse说构造函数未定义,但它已定义(Java),java,eclipse,Java,Eclipse,我不明白,为什么这个构造函数没有定义。我在这里检查了一些其他类似的问题,但始终存在一个问题,他们希望调用没有参数的构造函数,而构造函数有参数。但是我在代码中没有看到这个问题。你能帮帮我吗?谢谢大家! 我收到错误消息:构造函数节点(int)未定义 具有main方法的类: package LLP; public class LinkedList2Test { public void main (String args[]){ LinkedList2 test = new LinkedL

我不明白,为什么这个构造函数没有定义。我在这里检查了一些其他类似的问题,但始终存在一个问题,他们希望调用没有参数的构造函数,而构造函数有参数。但是我在代码中没有看到这个问题。你能帮帮我吗?谢谢大家!

我收到错误消息:
构造函数节点(int)未定义


具有main方法的类:

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

public class Node {
int data;
Node nextNode;

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

节点类

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

public class Node {
int data;
Node nextNode;

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

如我所见,在main方法中,我给出了一个整数,例如'13'。 add方法接收此整数并将其作为“data”调用 我想用“数据”创建节点 节点的构造函数只需要一个整数,即“data”,例如现在是13

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


非常感谢

LinkedList2类缺少构造函数

将此添加到LinkedList2类:

public LinkedList2(int data){ }

它应该会起作用。我猜这可能是因为您在提供构造函数后没有保存节点类,因此出现了错误


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

我在eclipse中遇到过好几次这样的问题。通常有效的是 选择错误所在的行和一系列

ctrl+x


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

对我来说,Ctrl-x Ctrl-v只是暂时起作用


对我有效的是关闭正在实例化的类的编辑器选项卡。事实上,关闭Eclipse编辑器中的所有选项卡(并重新打开您需要的选项卡)似乎可以消除Eclipse的困惑。

在Eclipse中,在我右键单击文件夹并选择“构建路径->用作源文件夹”后,出现了错误“构造函数节点(int)未定义”。要解决此问题,我遵循以下步骤:

  • 重命名包含类的包时出错
  • 使用旧文件夹(包)名称创建新文件夹
  • 在刚创建的文件夹下创建任何先前存在的子文件夹
  • 将旧类从重命名的包移动到新文件夹结构中的正确位置
  • 将所有类从重命名的包移动到新文件夹结构后,删除该包
  • 执行项目->清理

  • **节点=新节点(数据)**双星号在那里做什么?只是为了强调而添加。虽然如果在编译时有,我认为我们发现了问题。首先,它应该是
    publicstaticvoidmain(stringargs[])
    ,而不是
    publicsvoidmain(stringargs[])
    。您好,谢谢您的回答@mypal-干杯,我纠正了它,但这不是问题,问题在重新启动后消失了,这是一个经典的帮助台解决方案,但我从未在eclipse中体验过这样的行为。。。所以保存并重新启动。。。我被它折磨了一个小时,因为我找不到问题。。。无论如何谢谢你!我刚刚在这里添加了**:)这不是问题所在。他没有在任何地方使用那样的构造器。当你在那之后剪切它时,复制这条线有什么意义呢?它不止一次对我有用。我猜这是一个Eclipse解析问题……事实上,我今天不得不使用它(这就是我如何得到这个线程的)。重启Eclipse也不起作用。看起来也很奇怪。在打开一个我工作了几天的项目之后,这个类有一长串静态最终对象初始化列表,用于常量对象列表,并且在开始运行之前工作,一些行开始显示构造函数未定义错误。上述程序解决了这个问题。我意识到这绝对是一个黑客行为,但它以前对我有效,所以我决定分享它。它有效,因为剪切和粘贴行会触发重新编译,所以你不需要复制该行。“ctrl+x”+“ctrl+v”就足够了。