Java严格按价值传递......我仍然对这个概念感到困惑。 我已经通过很多网站来获得答案,但我找不到任何合理的理由。 有没有正确的理由说明Java没有通过引用传递?
答案 0 :(得分:2)
reference variable
的值是Java中的“地址”。将引用变量传递给方法时,会在堆栈上放置一个新的引用变量,并使用传递的引用变量值的副本来初始化新的本地引用变量值,就像任何基本类型一样。
这是pass by value
的经典定义。
注意:虽然您可以将引用视为内存地址,但事实并非如此。基本机制使其在逻辑上起作用,就好像它一样。
SHORT VERSION :引用是简单变量,就像其他基本类型一样,用于将参数传递给方法。一旦通过你可以做些什么显然是不同的。