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”就足够了。