在java中传递引用和引用引用有什么区别?传递引用和引用引用有什么区别?
回答
Java不会通过引用传递任何变量。
很容易想到在Java中通过引用传递对象 - 但这是有害的。对象类型的变量是引用。一旦通过,它们就会通过价值传递。
在其他语言中,传递引用和引用引用是同一件事。
编辑:的更多细节在现有计算器问题"Is Java pass by reference?"(扰流板:号公报)提供
是不是通过引用传递的对象? – 2010-09-07 15:41:07
从技术上讲,它们是通过价值传递的,但它们的价值是一个参考。如果你将一个Object'foo'传递给一个方法,然后说'foo = new Object()',那么传递给该方法的调用方法的变量将保持不变。 – StriplingWarrior 2010-09-07 15:43:12
在java中,所有东西都是按值传递的。按价值传递。按价值传递。准确地说,java引用是按值传递的。这意味着如果你有一个对象的引用,并且你将该引用传递给方法调用,那么引用a被复制到b中。现在b和指向同一个对象。 – hvgotcodes 2010-09-07 15:43:37
重要的概念 - Java没有的“按引用传递”的概念。 Java中的所有东西都是按值传递的。当你在一个方法调用中传递一个参数给对象时,你真正在做的是传递一个指向你的对象引用的值。
以下网址,更详细地解释: http://www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.html和 http://javadude.com/articles/passbyvalue.htm?repost
显然的条款(如在评论你的问题说明)和“按引用调用”“按引用传递”意思是一样的。
你问,但“通过引用传递”和“引用通话”是一回事。
如果您正在寻找通过引用传递的差异和值检查答案传递给
Pass by reference or pass by value?
但请记住,Java的按值传递参数。
http://javadude.com/articles/passbyvalue.htm
http://academic.regis.edu/dbahr/GeneralPages/IntroToProgramming/JavaPassByValue.htm
- 1. 对象和引用有什么区别?
- 2. __weak和__block引用有什么区别?
- 3. “添加引用”和“添加服务引用”有什么区别?
- 4. r值引用和l值引用有什么区别? (CodeGen)
- 5. 在Java中传递引用和在C中传递指针有什么区别?
- 6. 区分传递引用和传递值
- 7. 索引和分片有什么区别
- 8. 传递引用的指针/传递引用的引用
- 9. 函数调用和函数引用有什么区别?
- 10. 使用语句和添加引用有什么区别?
- 11. 通用引用和转发引用是否有区别?
- 12. 猪的双引号和单引号有什么区别?
- 13. 部分索引和稀疏索引mongodb有什么区别?
- 14. 引用和左值引用是否有区别?
- 15. 使用单引号和双引号在Ruby中查询Hash有什么区别?
- 16. 在路径中转义和引用空格有什么区别?
- 17. 原始数组和引用数组之间有什么区别?
- 18. JavaScript:函数名称和函数引用有什么区别?
- 19. java中的引用和对象有什么区别?
- 20. Perl中的哈希和哈希引用有什么区别?
- 21. 外键和引用键有什么区别?
- 22. 类型定义和类型引用有什么区别?
- 23. 通过引用传递引用?
- 24. C++引用传递
- 25. 传递引用1.1
- 26. 分别对2列进行索引和每列的索引有什么区别?
- 27. Objective-C中单引号和双引号的区别是什么?
- 28. 表索引和视图索引之间的区别是什么?
- 29. Perl中单引号和双引号的区别是什么?
- 30. Visual Studio中Web引用和服务引用的区别?
“通行证” 和 “呼” 是不同的东西,而不是不同版本的同一件事。你的意思是“通过参考”和“按价值传递”? – 2010-09-07 15:41:57
@Jim Garrison--显然“引用引用”是通过引用传递的同义词,或者[Wikipedia](http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference)所说的。 – 2010-09-07 15:43:33
@理查德 - 如果你做出这个答案,我会赶上它。 – StriplingWarrior 2010-09-07 15:48:39