[问题] 在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