1、Box b1 =new Box();
b2=b1;
变量b1赋值给变量b2,只是把b1的指向赋值给b2,b1和b2引用的相同一个对象,b2并没有重新分配任何内存对象或对b1内存对象进行拷贝。因此,b1(或b2)对对象的任何改变都会影响到b2(或b1)。由以下类可见:

class Box ...{
double x;
double y;
double z;
}

public class BoxDemo ...{
public static void main(String arg[]) ...{
Box Box1 = new Box();
Box Box2 = Box1;
Box1.x = 5;
Box1.y = 6;
Box1.z = 7;
System.out.println("X1=" + Box1.x);
System.out.println("X2=" + Box2.x);
Box1.x=10;
System.out.println("-------------------------");
System.out.println("X1=" + Box1.x);
System.out.println("X2=" + Box2.x);
Box2.x=15;
System.out.println("-------------------------");
System.out.println("X1=" + Box1.x);
System.out.println("X2=" + Box2.x);
}
}
结果为:
X1=5.0
X2=5.0
-------------------------
X1=10.0
X2=10.0
-------------------------
X1=15.0
X2=15.0
本文通过一个具体的Java代码示例,展示了对象引用的工作原理。详细解释了当两个变量引用同一个对象时,任何一个变量对该对象所做的修改都会影响另一个变量。这对于理解Java中对象的内存管理和引用传递非常重要。

被折叠的 条评论
为什么被折叠?



