站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题防止引用产生错误啊.重新生成一个新的对像,它们的值是一样,这样原来的那个对像还可以在别的地方引用

防止引用产生错误啊.重新生成一个新的对像,它们的值是一样,这样原来的那个对像还可以在别的地方引用

摘要: 防止引用产生错误啊.重新生成一个新的对像,它们的值是一样,这样原来的那个对像还可以在别的地方引用


这是一个类的组合问题


public class Point
{
private int x,y;
public Point(int x,int y)
{
this.x=x;this.y=y
}
public int GetX()
{ return x;}
public int GetY()
{ return y;}
}
线
class Line
{
private Point p1,p2;
Line(Point a,Point b)
{
p1=new Point(a.GetX(),a.GetY());
//注意:这个地方为什么不能写成p1=a ?????????????????????

p2=new Point(b.GetX(),b.GetY());
//注意:这个地方为什么不能写成p2=b ?????????????????????


}
}


这是为什么呀?




应该可以的吧,重要是防止引用产生错误啊.重新生成一个新的对像,它们的值是一样,这样原来的那个对像还可以在别的地方引用


你写成p1=a 和p2=b 只是被描述成对实参对象的引用。
你要使p1和p2产生和实参不同的对象 就必须用new 关键字


还是不太明白为什么引用会产成错误???


还是不太明白为什么引用会产成错误???


我有一个对像A,B传给你,但是你没有产生新的对像,也是引用我的对像,如果我一旦改变这两个A,B你的也会改变,
如果我传给你的时候你产生两个新的对像,他们的值是一模一样的,这时候我改变我的对像A,B时你的就不会跟着改变了


如果你实参 由于某种原因被销毁了。
那你P1和P2就为null了


哦 明白了 谢谢二位的帮忙!


↑返回目录
前一篇: JAVA中如何实现把参数传给一个线程?
后一篇: 用函数交换两个变量的值