这是一个类的组合问题点
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 ?????????????????????
}
}
这是为什么呀?
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和p2产生和实参不同的对象 就必须用new 关键字
如果我传给你的时候你产生两个新的对像,他们的值是一模一样的,这时候我改变我的对像A,B时你的就不会跟着改变了
那你P1和P2就为null了