黑马程序员技术交流社区
标题:
关于Location
[打印本页]
作者:
武江英
时间:
2012-11-2 11:16
标题:
关于Location
Location=new point(0,200);
Location=nwe point(Location.X,Location.Y);
一般new后面不就是重新赋值吗?Location.Y 是怎么取到200的?
作者:
欧玉斌
时间:
2012-11-2 12:08
看懂你意思了。实际代码应该是这样的。Point Location;Location = new Point(0, 200); Location = new Point(Location.X, Location.Y);
你的意思是,new会把Point内Location.X, Location.Y重新赋值,Location.Y就不会再是200.
老实说,我所知道的new,最常用的作用就是实例化一个类,它会重新赋值?不敢苟同。
就假设它会使后面的重新赋值。那该是怎么个赋值方式呢?把Location.X,和Location.Y都置为0?这显然是不合理的,因为这样的话,Location最后的值就变成x=
0,y=0了,那就跟我传的Point内参数0,200一点关系都没有了,又何必写一句Point(Location.X, Location.Y);呢
new在这里的作用是用于创建对象和调用构造函数。
Location = new Point(Location.X, Location.Y);中,x,y是构造函数Point的两个参数,它们传进来的值分别是0,200.在new实例化后,并不会影响参数本身的值。
如果你非要让new后,Location的x,y变为0.那就用Point的无参数构造形式吧(其实默认变为0)。
你可以通过以下代码体会以下,
Point带参数和不带参数的区别。
Location = new Point(0, 200);
MessageBox.Show(Location.Y.ToString());//弹出对话框200
Location = new Point();
MessageBox.Show(Location.Y.ToString());//弹出对话框0
作者:
郑鹏
时间:
2012-11-2 12:12
这句总结的好:new在这里的作用是用于创建对象和调用构造函数
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2