【发布时间】:2012-03-13 08:39:55
【问题描述】:
这两个代码有什么区别:
代码 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。
标签: java parameter-passing terminology pass-by-reference pass-by-value