new className() new出来的深意

XueXiLei myXueXi = new XueXiLei();
myXueXi.wangZhi =“didiao.com”;
myXueXi.xueXi(myXueXi.wangZhi);

	//System.out.println(myXueXi.nianLing);
	System.out.println("===========");
	
	//XueXiLei myXueXi2 = new XueXiLei();
	XueXiLei myXueXi2;
	myXueXi2 = myXueXi;
	
	myXueXi2.wangZhi ="vip.com";
	myXueXi2.xueXi(myXueXi2.wangZhi);
	
	System.out.println("===========");
	myXueXi.xueXi(myXueXi.wangZhi);

//通过 new 出来的 类对象 是在 堆中开辟了 一块空间
然后把这块空间的 地址 赋值给 myXueXi 对象
myXueXi 对象 属性myXueXi.wangZhi =“didiao.com”; 赋值为这个
当myXueXi2 = myXueXi; 把myXueXi对象 赋值给 myXueXi2 时
相当于是把 最初 new出来的 那块空间 地址 赋值给了 myXueXi2
当这时 myXueXi2 对属性wangZhi 赋值时 是在 new出来的那块空间里
对里面的 对象属性 wangZhi 赋值 这时 就覆盖了 之前的赋值
这时再打印myXueXi.xueXi(myXueXi.wangZhi); 时 就是显示 的 后面覆盖的值

上一篇:SAS 对数据集所有字段rename


下一篇:基于FLASK-SQLAlchemy的持久层SQL语法