对基本数据类型的赋值时很简单的。但是为对象赋值时,却有一点不一样;对一个对象进行操作的时候,我们真正操作的是对对象的引用。所以当将一个对象赋值给另一个对象,实际上是将对象的引用从一个地方赋值到另一个地方。当我么将一个对象赋值给另一个对象后,我们修改其中的一个对象,另一个对象也随之改变。
class Tank{
int m;
}
public class HelloWord {
public static void main(String[] args) {
Tank m1=new Tank();
Tank m2=new Tank();
m1.m=000;
m2.m=111;
System.out.println("m1.m="+m1.m+" m2.m="+m2.m);
m1.m=m2.m;
System.out.println("m1.m="+m1.m+" m2.m="+m2.m);
m1.m=222;
System.out.println("m1.m="+m1.m+" m2.m="+m2.m);
m1=m2;
System.out.println("m1.m="+m1.m+" m2.m="+m2.m);
m1.m=333;
System.out.println("m1.m="+m1.m+" m2.m="+m2.m);
}
打印结果如下:
run:
m1.m=0 m2.m=111
m1.m=111 m2.m=111
m1.m=222 m2.m=111
m1.m=111 m2.m=111
m1.m=333 m2.m=333
“`