[問題] 在java裡pass by value 的使用

作者: noiz07 (noiz07)   2017-01-21 14:05:11
書上有一題是
In java, pass-by-value is used with:
(A)objects
(B)primitive types
(C)arrays
(D)all of the above
解答是寫A ,但我覺得是D
Google 一下是說java 都是pass by value 像是array時是傳 reference 的value,所以想
問一下版上的大家這題應該選哪個?
謝謝
作者: ssccg (23)   2017-01-21 14:12:00
D
作者: icydream (巧虎)   2017-01-21 14:17:00
D
作者: KekeMonster (KekeMonster)   2017-01-21 15:23:00
B
作者: james732 (好人超)   2017-01-21 17:20:00
如果是A的話那primitive types算什麼?
作者: KekeMonster (KekeMonster)   2017-01-21 19:52:00
我錯了,是D...
作者: awesen (awesen)   2017-01-21 21:30:00
哪本書...
作者: marsyang1 (Mars)   2017-01-22 08:40:00
D
作者: adrianshum (Alien)   2017-01-23 09:50:00
嚴格來說是B. Java 中不能傳Objects(和Arrays). 傳的是Object *Reference*
作者: ssccg (23)   2017-01-23 10:10:00
傳的是Object Reference "Value"以變數的角度來說,不管變數type是primitive還是object傳的就是變數的value,used with可解釋成當參數的type是...call by xxx是從argument和parameter的關係看,argument是個pointer、指向的另外那塊位址本來就跟這段無關了
作者: longlongint (華哥爾)   2017-01-24 00:22:00
為了證照 ~(?
作者: adrianshum (Alien)   2017-01-24 20:21:00
我意思是傳的是Object Reference, 而傳的方法是By Value.嚴格來說 Java 的variable 的type 不是Object, 而只是Reference (aka Pointer)既然variable/parameter/argument 不能是object, 那自然不會"use with" 了

Links booklink

Contact Us: admin [ a t ] ucptt.com