我最近開始重構我的Java代碼。這一切都運行良好,直到後來,我注意到我的一些對象丟失「正確的參考」,即它成爲的情況下,對象是「通過值」,而不是「通過引用」 。請注意,我確實知道Java始終是pass-by-value,並且僅通過內存地址傳遞來模擬傳遞引用(這就是爲什麼我引用這兩個短語的原因)。對象之間的區別o = makeMeAnObjectPlease();和Object o = new Object();
我的問題是:是否有
Object o = new Object();
和
Object o = makeMeAnObjectPlease();
其中
public Object makeMeAnObjectPlease()
{
Object c = new Object();
return c;
}
而且通過差異,我的意思之間的差異將o
Object o = makeMeAnObjectPlease()
後指該與在makeMeAnObjectPlease()
內創建的內存地址相同?還有更多的區別嗎?
你可能想看看這個問題的答案:http://stackoverflow.com/questions/40480/is-java-pass-by-reference – Natix