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操作效果是一样的,他们都是同一个东西。
第一种在java堆内存分配了2块区域。然后栈上面的变量e1,e2分别指向这2块区域。
第二种在java堆内存只分配了一块区域,栈上面的变量e1,e2都指向这块区域
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。