0

我有一个 LINE 类,它有两个 POINT 类型的属性(它是一个对象)。

public class LINE {
private Point p1,p2;
}

如果我这样说,会不会造成混叠?

public void setP1(Point p1)
{
    this.p1=p1;
}

或者我是否必须创建一个新对象,如下所示:

public void setP1(Point p1)
{
this.p1=new Object(p1);
}

提前感谢。

4

1 回答 1

0

是的,它会导致混叠。

我的猜测是您正在尝试创建对象的副本,而不是您想要实例化一个新的Point.

话虽这么说,如果您实际上不需要复制对象,那么第一个就可以了

所以如果你这样称呼它

Line line = new Line()
line.setP1(new Point(/*params*/))

没关系。

于 2013-01-02T21:06:59.063 回答