作者noiz07 (noiz07)
看板java
標題[問題] 在java裡pass by value 的使用
時間Sat Jan 21 14:05:11 2017
書上有一題是
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://webptt.com/m.aspx?n=bbs/java/M.1484978714.A.A7F.html
※ 編輯: noiz07 (110.28.91.128), 01/21/2017 14:10:12
1F:→ ssccg: D01/21 14:12
2F:推 icydream: D01/21 14:17
3F:推 KekeMonster: B01/21 15:23
4F:推 james732: 如果是A的話那primitive types算什麼?01/21 17:20
5F:推 KekeMonster: 我錯了,是D...01/21 19:52
謝謝各位
※ 編輯: noiz07 (27.247.230.73), 01/21/2017 20:11:00
6F:推 awesen: 哪本書... 01/21 21:30
7F:→ marsyang1: D 01/22 08:40
8F:推 adrianshum: 嚴格來說是B. Java 中不能傳Objects(和Arrays). 傳 01/23 09:50
9F:→ adrianshum: 的是Object *Reference* 01/23 09:50
10F:→ ssccg: 傳的是Object Reference "Value" 01/23 10:10
11F:→ ssccg: 以變數的角度來說,不管變數type是primitive還是object 01/23 10:12
12F:→ ssccg: 傳的就是變數的value,used with可解釋成當參數的type是... 01/23 10:12
13F:→ ssccg: call by xxx是從argument和parameter的關係看,argument是 01/23 10:30
14F:→ ssccg: 個pointer、指向的另外那塊位址本來就跟這段無關了 01/23 10:32
15F:推 longlongint: 為了證照 ~(? 01/24 00:22
16F:→ adrianshum: 我意思是傳的是Object Reference, 而傳的方法是By Val 01/24 20:21
17F:→ adrianshum: ue. 01/24 20:21
18F:→ adrianshum: 嚴格來說 Java 的variable 的type 不是Object, 而只是 01/24 20:22
19F:→ adrianshum: Reference (aka Pointer) 01/24 20:22
20F:→ adrianshum: 既然variable/parameter/argument 不能是object, 那 01/24 20:23
21F:→ adrianshum: 自然不會"use with" 了 01/24 20:23