Re: [問題] 請教一個基本的問題

看板java作者 (Alien)時間16年前 (2010/03/01 18:34), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串8/11 (看更多)
※ 引述《Lordaeron (Terry)》之銘言: : ※ 引述《adrianshum (Alien)》之銘言: : : [43] : : 推文等太久,乾脆回文。 : : 把它理解為 "obj 就是 call by ref" ,包準你會 : : 在另一種情況下搞混。 : : 例如: : : void foo(String a) { : : a += "foo"; : : } : : String x = "xxx"; : : foo(x); : : // x 的結果是什麼? : : 很不幸,把東西說成 "物件就是 call by ref" : : 對這種情況十居其九都會搞錯 : : 何不好好理解一下 Java 自己的說法: Java 只有 pass-by-value. : : object 傳的是 reference (或者理解為 handle, pointer etc) 的 : : copy. 只為這個 copy 和原本的 reference 都是指向同一 object, : : 所以修改 obj 的內容,caller 也會看得到. : 都沒有定義以下的東西, 就在討論了? 這麼神奇? : 給個定義吧: : 什麼是reference? : 什麼是value? : 什麼是call by value? : 什麼是call by reference? http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_value http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference 而 value 及 reference 兩個單字在 java 裡的意思, 和 pass-by-value & pass-by-reference 並無直接關係, 請 不要混淆視聽 btw, 這些定義, google 一下就找得到了, 你不 要每次都伸手牌要人找給你好嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.238.156.189 ※ 編輯: adrianshum 來自: 61.238.156.189 (03/01 18:36) ※ 編輯: adrianshum 來自: 61.238.156.189 (03/01 19:22)

03/01 21:00, , 1F
請冷靜, 減少情緒化用詞, 感謝您.
03/01 21:00, 1F

03/02 10:29, , 2F
其實我蠻冷靜耶, 只是l君經常叫人給def
03/02 10:29, 2F
文章代碼(AID): #1BYvX989 (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 8 之 11 篇):
文章代碼(AID): #1BYvX989 (java)