java初学者关于new对象的问题

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的另一个引用,类似于指针的指针****