在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. r值引用和l值引用有什麼區別? (CodeGen)
- 4. 在Java中傳遞引用和在C中傳遞指針有什麼區別?
- 5. C++函數中「傳遞引用」和「傳遞指針/地址」有什麼區別?
- 6. 區分傳遞引用和傳遞值
- 7. 原子引用計數和自動引用計數之間有什麼區別?
- 8. 散列和索引有什麼區別?
- 9. 索引和分片有什麼區別
- 10. 函數調用和函數引用有什麼區別?
- 11. 使用語句和添加引用有什麼區別?
- 12. 傳遞引用的指針/傳遞引用的引用
- 13. 通用引用和轉發引用是否有區別?
- 14. 瀏覽器引擎和渲染引擎有什麼區別?
- 15. Ruby--單引號和雙引號之間有什麼區別?
- 16. 豬的雙引號和單引號有什麼區別?
- 17. 「數據庫引擎」和「查詢引擎」有什麼區別?
- 18. 部分索引和稀疏索引mongodb有什麼區別?
- 19. 引用和左值引用是否有區別?
- 20. 使用單引號和雙引號在Ruby中查詢Hash有什麼區別?
- 21. C++中傳遞值與傳遞引用之間的區別
- 22. 爲什麼JavaScript通過引用傳遞?
- 23. 外鍵和引用鍵有什麼區別?
- 24. JavaScript:函數名稱和函數引用有什麼區別?
- 25. 項目引用和項目依賴關係有什麼區別?
- 26. 在路徑中轉義和引用空格有什麼區別?
- 27. 呼叫引用和按價值回報有什麼區別
- 28. 在C#中處理和設置引用null有什麼區別?
- 29. java中的引用和對象有什麼區別?
- 30. 原始數組和引用數組之間有什麼區別?
「通行證」 和 「呼」 是不同的東西,而不是不同版本的同一件事。你的意思是「通過參考」和「按價值傳遞」? – 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