首页 > 代码库 > java 中的别名机制

java 中的别名机制

        将一个对象赋值给另一个对象,实际是将引用从一个地方复制到另一个地方。这意味着假若对对象使用c=d,那么c和d都指向原本只有d指向的那个对象,下面这个例子将向大家阐释这点。

     

package gao.com;
class Test{
	int number;
}
public class Assigment {
   public static void main(String[]args){
	   Test t1=new Test();
	   Test t2=new Test();
	   t1.number=25;
	   t2.number=32;
	   System.out.println("t1.number="+t1.number+" t2.number="+t2.number);
	   t1=t2;
	   System.out.println("t1.number="+t1.number+" t2.number="+t2.number);
	   t1.number=1;
	   System.out.println("t1.number="+t1.number+" t2.number="+t2.number);
   }
}
/* 输出
t1.number=25 t2.number=32
t1.number=32 t2.number=32
t1.number=1 t2.number=1
*/

Test 类非常简单,它的两个实例是在main()里创建的。对每个Test类对象number域都赋予了一个不同的值。然后将t2赋给t1,接着又修改了t1.在很多语言中我们会期望t1和t2总是相互独立,但由于赋值操作是一个对象的引用,所以修改t1的时候也改变了t2,这是由于t1和t2包含相同的引用,它们指向相同的对象。

java 中的别名机制