ITPub博客

首页 > 应用开发 > IT综合 > 给对象引用变量赋值(转)

给对象引用变量赋值(转)

原创 IT综合 作者:ba 时间:2007-08-15 13:53:14 0 删除 编辑
给对象引用变量赋值(转)[@more@]对象变量的赋值和你直觉期望的不同。例如,你认为下面的程序段是做什么呢?

Box b1 = new Box();
Box b2 = b1;

你可能认为,变量b2被赋值为变量b1对象引用的一个拷贝。也就是,你可能认为b1和b2引用的是不同的对象,但实际情况却相反,b1和b2将引用同样的对象。将b1赋值给b2并没有分配任何内存或对原对象做任何部分的拷贝。由于它们是同一个对象,因此通过变量b2对对象的改变也将影响b1所对应的对象。


尽管b1和b2都引用同一个对象,但是他们之间没有任何其他的关系。例如,接下来对b1的赋值仅仅使b1脱离(unhook )初始对象,而没有影响对象或影响b2。

Box b1 = new Box();
Box b2 = b1;
// ...
b1 = null;

这里,b1被设置为空,但是b2仍然指向原来的对象。

注意:当你将一个对象引用赋值给另一个对象引用时,你并没有创建该对象的一个拷贝,而是仅仅对引用的一个拷贝。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10617731/viewspace-958066/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: java 声明对象(转)
请登录后发表评论 登录
全部评论
  • 博文量
    1621
  • 访问量
    4430978