Java 通过引用传递和通过引用调用之间有什么区别?

Java 通过引用传递和通过引用调用之间有什么区别?,java,Java,java中按引用传递和按引用调用的区别是什么 Java不通过引用传递任何变量 人们很容易想到Java中通过引用传递对象——但这是有害的。对象类型的变量是引用。当传递时,它们按值传递 在其他语言中,按引用传递和按引用调用是相同的 编辑:更多细节见现有的stackoverflow问题(扰流板:否)。重要概念-Java没有“按引用传递”的概念。Java中的所有内容都是按值传递的。当您在方法调用中将对象引用传递给参数时,您真正要做的是传递一个指向对象引用的值 以下URL对此进行了更详细的解释: 及 显

java中按引用传递和按引用调用的区别是什么

Java不通过引用传递任何变量

人们很容易想到Java中通过引用传递对象——但这是有害的。对象类型的变量是引用。当传递时,它们按值传递

在其他语言中,按引用传递和按引用调用是相同的


编辑:更多细节见现有的stackoverflow问题(扰流板:否)。

重要概念-Java没有“按引用传递”的概念。Java中的所有内容都是按值传递的。当您在方法调用中将对象引用传递给参数时,您真正要做的是传递一个指向对象引用的值

以下URL对此进行了更详细的解释: 及

显然(正如在对您问题的评论中所指出的那样)“通过引用”和“通过引用呼叫”这两个术语的含义是相同的。

您问过,但“通过引用呼叫”和“通过引用呼叫”是相同的

如果您正在查找“按引用传递”和“按值传递”之间的差异,请检查以下问题的答案:

但请记住,Java按值传递参数。


对象不是通过引用传递的吗?从技术上讲,它们是通过值传递的,但它们的值是一个引用。如果将对象
foo
传递到方法中,然后说“foo=new Object()”,则传递到方法中的调用方法变量将保持不变。在java中,所有内容都是按值传递的。按值传递。按值传递。准确地说,java引用是按值传递的。这意味着,如果您有一个对对象a的引用,并且您将该引用传递给一个方法调用,那么引用a将被复制到b中。现在b和a指向同一个对象。不,“对象”变量是一个包含对象引用的变量。当这样一个变量作为参数传递时,它是按值传递的。在本例中,该值是一个引用。这与实际通过引用传递对象非常不同,因为例如,如果重新指定参数以指向不同的对象,则对传递的对象没有影响。如果对象实际上是按引用传递的,则不会是这样。@Jagan:传递引用副本不是按值传递。这是副本!“通过”和“呼叫”是不同的东西,而不是同一事物的不同版本。你的意思是“通过参考”和“通过价值”?@Jim Garrison-显然“通过参考”是通过参考的同义词,或者是这么说的。@Richard-如果你回答这个问题,我会向上投票。@StriplingWarrior-哈哈哈,我甚至没有想到:P我会通过向上投票(尽管如此,谢谢:D)可能是重复的