引用X :持有A引用时,可以对A对象做一切权限许可的操作。可以任何对A的可访问属性赋值。
但是当对X本身做赋值操作时,并不会改变也不影响A对象的状态,只是X将持有的引用,由持有A,变成持有B了
;
唯一对A影响到的是,X丢弃了A的引用,并且无法再访问到A,也无法再对其做任何操作。
对A来说,只是少一个被其它变量持有的引用。
对一个对象赋值,只有一种方式,就是首先获得或持有它的引用,再通过引用来访问或者改变它的状态,通过引
用来调用它的方法,而对持有这个引用的变量进行赋值时,这个引用将被其它引用覆盖掉,只是改变了持有引用的变量的
值,而引用指向的对象本身没有任何改变,还是原样。要想改变它,只有通过引用找到它的地址,改变它的值。而对引用
,你只有持有和不持有,获得和不获得这两种操作。
对于持有过A引用的X,一旦它不再持有A引用,或者已经持有其它的引用,哪怕是A对象的内容拷贝或兄弟对象,
所做的任何操作,也不会影响到A对象。
程序中经常有变量X在持有A对象的引用进行一系列的操作之后,再持有B对象的引用,对B对象进行操作,再持有
C对象的引用对C进行操作,但是后面的操作会影响到A对象吗?不会。
变量X在持有过A对象的引用,再持B对象的引用,再把X变量对其它变量C赋值,会将A的引用赋给其它变量C吗?
不会,变量间的赋值是把X变量的值赋给C变量,当x的不再持有A对象的引用时,X的值并非A对象的引用,而是其当时持有
的对象B的引用,所以A的引用不会赋值给C。
变量操作
最新推荐文章于 2022-10-14 13:51:32 发布