问题说:“向Point类添加一个构造函数,该构造函数接受另一个Point作为参数,并初始化新的Point具有相同的(x,y)值。在解决方案中使用关键字this。”
public class Point
{
int x;
int y;
//enter your code here
}
我已经应用了所有我能想到的概念以及命中和试用方法,但没有一个起作用。我的意思是如何将构造函数传递给构造函数! 这是我想出的最好的结果。
public Point(Point)
{
this.x=x;
this.y=y;
}
但这会产生一个错误。 “预期<标识符> 公共点(点)”
答案 0 :(得分:2)
您的构造函数应为:
public Point(Point p) {
this.x = p.x;
this.y = p.y;
}
通过这种方式,您可以将p
的属性分配给班级的属性。
您未包含标识符p
。
尽管如果这是该类的唯一构造函数,则该类是无用的,因为它需要一个预先实例化的对象才能实例化一个新对象。
答案 1 :(得分:0)
至少您需要给构造函数参数变量命名:
public Point(Point p) {
this.x = p.x;
this.y = p.y;
}
您不必将构造函数传递给构造函数,只需复制一个实例即可。 该类的实例可以访问同一类的所有私有字段