Java 构造函数未定义?
有人能帮我解决这个错误吗。我试图自己学习java,但不确定是什么导致了错误Java 构造函数未定义?,java,constructor,Java,Constructor,有人能帮我解决这个错误吗。我试图自己学习java,但不确定是什么导致了错误 /* * Without changing the Point class, add any arguments to the constructor * below so that the error goes away. */ public Point p04Constructor() { return new Point(); } 以下是Point类: public class Point {
/*
* Without changing the Point class, add any arguments to the constructor
* below so that the error goes away.
*/
public Point p04Constructor() {
return new Point();
}
以下是Point类:
public class Point {
private int _x;
private int _y;
public Point(int x, int y) {
_x = x;
_y = y;
}
public void move(int dx, int dy) {
_x = _x + dx;
_y = _y + dy;
}
public void flip() {
_x = _y;
_y = _x;
}
public void setY(int _y) {
_y = 2;
}
public int getY() {
return _y;
}
public String toString() {
return "(" + _x + "," + _y + ")";
}
}
请让我知道你的想法。我已经尝试过按照注释中的建议进行操作,但仍然会出现错误。正如注释中的其他人所说,您需要为构造函数传递正确的参数。所以像这样的东西应该编译
public Point p04Constructor() {
return new Point(0, 0);
}
您需要添加2个int
参数,因为您给我们的Point
类只有一个构造函数,它需要向它传递2个int
变量
public Point(int x, int y) {
为了补充奥斯汀的答案 还有几个其他问题 setY(int y)方法将始终将_y值设置为2,而不是方法参数y flip方法无法按预期工作。一旦x被设置为y,那么y将被设置为x,这刚刚被设置为y
没有getX()方法。您可以向我们展示您的point类吗?。。。看看评论。。看起来有点像一个赋值,所以你可能需要在
点()
上添加一些东西来消除错误<代码>新点(0,4)代码>。。。如果没有看到点
类,我们无法确定这些参数应该是什么。maraca的建议听起来很有可能。@CookieMonster编程不应该是一个猜谜游戏,你应该能够通过查看点
类的构造函数而不是随机尝试值来找出答案。你是最好的。谢谢:)奥斯汀,我看到你编辑了上面的帖子。然而,它仍然需要一些编辑。很明显,代码块中没有留下代码,错误被排除在外,但列在注释中。我不明白你是如何决定你所做的一切足以完成编辑的。我并不是说你没有改进问题的格式,我只是好奇你为什么停下来了。@MatthewCliatt说实话,我不确定你还想在我的答案中找到什么。OP特别询问了未定义的构造函数错误,所以我向他展示了如何修复它以及构造函数是如何工作的……我不是在谈论你的答案。我说的是你是如何编辑这个问题的。@MatthewCliatt O,在这种情况下,我只是删除了Eclipse标记,因为这与问题无关。我没有编辑文章的正文。是的,我的工作是修复这些错误