Echo e1=new Echo();
Echo e2=new Echo();
与
Echo e1=new Echo();
Echo e2=e1;
有什么不同
第一种,e1和e2是两个不同的对象,第二种,e1和e2是同一个对象。
通俗点讲,第一种中,对e1操作基本不会对e2有影响,同理对e2操作基本也不会对e1有影响;第二种中,对e1操作和e2操作效果是一样的,他们都是同一个东西。
第一种方式,两个对象存储地址不同
第二种方式,两个对象存储地址相同
上面的是两个对象,下面的是一个对象,两个变量引用,多看看基础的,堆和栈
e1与e2是Echo对象的两个实例,它们的值存储在不同的栈空间。e1的变化不会影响e2,反之也是。
e2是e1的另一个引用,类似于指针的指针****