【发布时间】:2013-01-16 06:54:08
【问题描述】:
我最近开始重构我的 Java 代码。一切都运行良好,直到后来,我注意到我的一些对象丢失了“正确引用”,即对象被“按值传递” ,而不是“通过引用传递”。请注意,我确实了解 Java 始终是 pass-by-value,并且通过引用传递仅通过内存地址传递来模拟(这就是我引用这两个短语的原因)。
我的问题是:有没有区别
Object o = new Object();
和
Object o = makeMeAnObjectPlease();
在哪里
public Object makeMeAnObjectPlease()
{
Object c = new Object();
return c;
}
通过差异,我的意思是o 在Object o = makeMeAnObjectPlease() 之后会引用与makeMeAnObjectPlease() 内部创建的内存地址相同的内存地址吗?还有其他区别吗?
【问题讨论】:
标签: java oop object new-operator assignment-operator