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

Jag*_*gan 6 java

在引用中通过引用和通过引用调用有什么区别?

And*_*mas 10

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

考虑通过Java引用传递的对象很有吸引力 - 但有害.对象类型的变量是引用.传递时,它们按值传递.

在其他语言中,pass-by-reference和call-by-reference是一回事.

编辑:现有的stackoverflow问题"Java是否通过引用传递?"中提供了更多详细信息.(剧透:不.)

  • 不,"对象"变量是包含对象引用的变量.当这样的变量作为参数传递时,它将按值传递.在这种情况下,该值是一个参考.这与通过引用实际传递对象非常不同,因为例如,如果您重新分配参数以指向不同的东西,那么对传递的对象没有任何影响.如果对象实际上是通过引用传递的,那就不是真的. (4认同)
  • @Jagan:没有传递引用的副本是按值传递的.这是副本! (3认同)

wha*_*ley 7

重要概念 - Java没有"通过引用传递"的概念.Java中的所有内容都是按值传递的.当您将方法调用中的对象引用传递给参数时,您实际执行的操作是传递一个指向对象引用的值.

以下URL更详细地解释了这一点:http: //www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.htmlhttp://javadude.com/articles/passbyvalue.htm ?转贴

显然(如对你的问题的评论中所述),"通过引用传递"和"通过引用调用"这两个术语的含义相同.