0

Java 是严格按值传递的。我仍然对这个概念感到困惑。我已经浏览了许多网站以获得答案,但我找不到任何好的理由。Java没有通过引用传递有什么正当理由吗?

4

1 回答 1

2

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

这就是经典的定义pass by value

注意:虽然您可以将引用视为内存地址,但事实并非如此。底层机制使它在逻辑上表现得好像它是一样的。

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

于 2013-07-05T10:03:14.830 回答