Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
原因:为什么java不能通过引用传递?_Java_Pass By Reference_Pass By Value - Fatal编程技术网

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

原因:为什么java不能通过引用传递?,java,pass-by-reference,pass-by-value,Java,Pass By Reference,Pass By Value,Java是严格按值传递的..我仍然对这个概念感到困惑。 我已经浏览了很多网站来得到答案,但是我找不到任何好的理由。 Java不按引用传递有什么正当的原因吗?引用变量的值在Java中是一个“地址”。将引用变量传递给方法时,将在堆栈上放置一个新的引用变量,并使用传递的引用变量值的副本初始化新的局部引用变量值,就像任何基元类型一样 这是传递值的经典定义 注意:虽然可以将引用视为内存地址,但它不是。潜在的机制使它的行为合乎逻辑,就好像它是 SHORT VERSION:引用是简单变量,与其他原语类型一样,

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

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

这是传递值的经典定义

注意:虽然可以将引用视为内存地址,但它不是。潜在的机制使它的行为合乎逻辑,就好像它是


SHORT VERSION:引用是简单变量,与其他原语类型一样,用于向方法传递参数。一旦通过考试,你能对他们做些什么显然是不同的。

你希望答案在哪一级?这是一个理论问题吗?你想知道这个设计背后的推理吗?这个问题以前被问过:指针和取消引用,在C++中最不直观的部分,java的值传递,几乎解决了C++的所有引用用例,同时避免了所有的混淆。