问题描述
- 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的另一个引用,类似于指针的指针****
时间: 2024-09-11 13:00:26