10.6 指定别名
别忘了,将对象赋给变量时,赋给变量的实际上是指向对象的引用。可让多个变量指向同一个对象,如下所示:
Rectangle box1 = new Rectangle(0, 0, 100, 200);Rectangle box2 = box1;
结果如图 10-4 所示。

图 10-4:两个变量指向同一个对象的状态图
请注意,box1 和 box2 是同一个对象的别名,因此,影响其中一个变量的修改也将影响另一个变量。下面的示例将这个矩形的左上角向左、向上各移了 50 个单位,并将其高度和宽度都增加了 100 个单位:
System.out.println(box2.width);box1.grow(50, 50);System.out.println(box2.width);
第 1 行显示 100,这是 box2 指向的 Rectangle 对象的宽度;第 2 行对 box1 调用方法 grow,这个方法增大 Rectangle 对象的水平和垂直尺寸,结果如图 10-5 所示。

图 10-5:说明调用 grow 效果的状态图
通过 box1 所做的修改也将影响 box2,因此第 3 行显示的值为 200——增大后的矩形的宽度。
