public class Var_ {
int a;
public static void main(String[] args) {
Var_ var_1 = new Var_();
var_1.a = 111;
Var_ var_2 = new Var_();
var_2.a = 222;
System.out.println(var_1.a);
System.out.println(var_2.a);
/*********************************************/
var_1 = var_2;
System.out.println(var_1.a);
System.out.println(var_2.a);
/***********************************************/
var_1.a = 666;
System.out.println(var_1.a);
System.out.println(var_2.a);
}
}
思考每个打印语句将会输出的值
111
222
222
222
666
666
var_1 = var_2;
//将var_1对象实例的引用指向了var_2 , 所以var_1.a 将会输出 var_2.a的值
var_1.a = 666;
再为var_1.a赋值,其实无论对var_1.a 或 var_2.a赋值 , 两个的值终会统一 , 因为var_1与var_2包含的是相同的引用,他们指向相同的对象.