我不理解这个传递值并通过java中的引用概念传递

时间:2011-06-09 12:33:47

标签: java

  

可能重复:
  What's the difference between passing by reference vs. passing by value?
  Is Java pass by reference?

我不理解这个传递值并通过java中的引用概念传递。任何人都可以用蹩脚的话来解释我......在阅读了很多文章后,我仍然不理解它。

2 个答案:

答案 0 :(得分:1)

Java仅使用按值传递。而已。

http://stackoverflow.com/search?q=【JAVA]通过+值+通+

答案 1 :(得分:1)

我可以尝试外行人对一般原则的解释,但我不会使用Java,所以可能会有一些皱纹。

好的,当您将变量传递给函数/子例程/方法时,您有这两个选择。

  1. 按值传递:您的变量将被复制,2个变量将独立存在,一个位于函数范围内,另一个位于调用范围内。一旦函数完成,前者将不复存在,因此后一个变量将不会改变。这也称为“通过副本传递”。

  2. 按引用传递:不复制变量。传递的所有内容都是对原始变量位置的引用(在调用范围内)。因此,如果被调用函数修改了变量,即使函数返回到调用范围,它也会持久存在。

  3. 通过引用传递通常更有效,特别是对于大变量。但是,功能设计原​​则表明您应该避免使用参考值来返回函数的结果。

    请告诉我是否需要澄清!

相关问题