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

看板java作者 (noiz07)時間7年前 (2017/01/21 14:05), 7年前編輯推噓7(7014)
留言21則, 8人參與, 最新討論串1/1
書上有一題是 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,所以想 問一下版上的大家這題應該選哪個? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.28.91.128 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1484978714.A.A7F.html ※ 編輯: noiz07 (110.28.91.128), 01/21/2017 14:10:12

01/21 14:12, , 1F
D
01/21 14:12, 1F

01/21 14:17, , 2F
D
01/21 14:17, 2F

01/21 15:23, , 3F
B
01/21 15:23, 3F

01/21 17:20, , 4F
如果是A的話那primitive types算什麼?
01/21 17:20, 4F

01/21 19:52, , 5F
我錯了,是D...
01/21 19:52, 5F
謝謝各位 ※ 編輯: noiz07 (27.247.230.73), 01/21/2017 20:11:00

01/21 21:30, , 6F
哪本書...
01/21 21:30, 6F

01/22 08:40, , 7F
D
01/22 08:40, 7F

01/23 09:50, , 8F
嚴格來說是B. Java 中不能傳Objects(和Arrays). 傳
01/23 09:50, 8F

01/23 09:50, , 9F
的是Object *Reference*
01/23 09:50, 9F

01/23 10:10, , 10F
傳的是Object Reference "Value"
01/23 10:10, 10F

01/23 10:12, , 11F
以變數的角度來說,不管變數type是primitive還是object
01/23 10:12, 11F

01/23 10:12, , 12F
傳的就是變數的value,used with可解釋成當參數的type是...
01/23 10:12, 12F

01/23 10:30, , 13F
call by xxx是從argument和parameter的關係看,argument是
01/23 10:30, 13F

01/23 10:32, , 14F
個pointer、指向的另外那塊位址本來就跟這段無關了
01/23 10:32, 14F

01/24 00:22, , 15F
為了證照 ~(?
01/24 00:22, 15F

01/24 20:21, , 16F
我意思是傳的是Object Reference, 而傳的方法是By Val
01/24 20:21, 16F

01/24 20:21, , 17F
ue.
01/24 20:21, 17F

01/24 20:22, , 18F
嚴格來說 Java 的variable 的type 不是Object, 而只是
01/24 20:22, 18F

01/24 20:22, , 19F
Reference (aka Pointer)
01/24 20:22, 19F

01/24 20:23, , 20F
既然variable/parameter/argument 不能是object, 那
01/24 20:23, 20F

01/24 20:23, , 21F
自然不會"use with" 了
01/24 20:23, 21F
文章代碼(AID): #1OWleQf_ (java)