是什麼這2碼之間的差:爪哇通過引用傳遞
代碼A:
Foo myFoo;
myFoo = createfoo();
其中
public Foo createFoo()
{
Foo foo = new Foo();
return foo;
}
比。代碼B:
Foo myFoo;
createFoo(myFoo);
public void createFoo(Foo foo)
{
Foo f = new Foo();
foo = f;
}
這兩段代碼有什麼不同嗎?
那裏沒有「通過引用」。它通過價值傳遞,價值是一個參考。代碼B不編譯,如果它不會改變myFoo。 – harold 2012-02-22 23:05:36