原因:为什么java不通过引用传递?

时间:2013-07-05 09:57:01

标签: java pass-by-reference pass-by-value

Java严格按价值传递......我仍然对这个概念感到困惑。 我已经通过很多网站来获得答案,但我找不到任何合理的理由。 有没有正确的理由说明Java没有通过引用传递?

1 个答案:

答案 0 :(得分:2)

reference variable的值是Java中的“地址”。将引用变量传递给方法时,会在堆栈上放置一个新的引用变量,并使用传递的引用变量值的副本来初始化新的本地引用变量值,就像任何基本类型一样。

这是pass by value的经典定义。

注意:虽然您可以将引用视为内存地址,但事实并非如此。基本机制使其在逻辑上起作用,就好像它一样。

SHORT VERSION :引用是简单变量,就像其他基本类型一样,用于将参数传递给方法。一旦通过你可以做些什么显然是不同的。