我最近开始重构我的 Java 代码。一切都运行良好,直到后来,我注意到我的一些对象丢失了“正确引用”,即对象是“按值传递”,而不是“按引用传递”。请注意,我确实理解 Java 始终是按值传递的,而按引用传递只能通过内存地址传递来模拟(这就是我引用这两个短语的原因)。
我的问题是:两者之间有区别吗
Object o = new Object();
和
Object o = makeMeAnObjectPlease();
在哪里
public Object makeMeAnObjectPlease()
{
Object c = new Object();
return c;
}
不同的是,我的意思是o
指Object o = makeMeAnObjectPlease()
与内部创建的内存地址相同的内存地址makeMeAnObjectPlease()
吗?还有更多的区别吗?