java 板


※ 引述《[email protected] (喵喵小雷貓)》之銘言: : ※ 引述《[email protected] (Null)》之銘言: : : 各位大大: : : 如標題所示,沒有人可以幫忙舉例來說明呢? : : 或則哪裡有正確的文章可以參照呢? : 眾多書藉上沒有統一的答案 : 這兩個答案都可以, 看你以什麼角度去解釋 : 以programming language的角度來說, java可以說是call by reference : 因為java不具有pointer的位置運算能力 ......................................................... 就我看的 programming language 的書, java 是 call-by-reference, 除了一些非嚴謹的說法, 無論是 java 正式的 tutorial, 規格書裏, 都是講 java 是 call-by-reference . http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8 &threadm=48K1We%24AWO%40bbs.ee.ntu.edu.tw&rnum=1&prev= /groups%3Fq%3Dpass-by-reference%2520eightcloud %26hl%3Dzh-TW%26lr%3D%26ie%3DUTF-8%26sa%3DN%26tab%3Ddg 寄件者:嵐雲 ([email protected]) 主旨:java 沒有 pass-by-reference 那麼另人難接受嗎? View: Complete Thread (共 7 條留言) Original Format 網上論壇:tw.bbs.comp.lang.java 日期:2003-09-17 23:58:19 PST pass-by-xx 是 progamming lanuague 裏, 有關參數傳遞方式的一種分類, 就那分類的定義, java 沒有 pass-by-reference, 而是 pass-by-value, 不管是 java 的技術文件也好, java 的 tutorial 也好, (前面都有給過 URL) 都說 java 沒有 pass-by-reference, 而是 pass-by-value, 這那麼另人難接受嗎? 再從 PL 定義來看 java 的機制, Programming language 對 pass-by-refernece 的定義. " Pass by reference is a second implementation model for inout-mode parameters. Rather than transmittting data values back and forth, however, as in pass-by-value-result, the pass-by-reference method transmits an access path, usually an addesss, to the called subprogram. This provides the access path to the cell storing the actual parameter. Thus the called subprogram is allowd to acesss the actual paramter in the calling program. In effect, the actual parameter is shared with the called subprogram. " java 文件 http://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html 4.5.2 Variables of Reference Type A null reference A reference to any object (§4.3) whose class (§4.5.6) is assignmen t compatible (§5.2) with the type of the variable 4.3.1 Objects An object is a class instance or an array. The reference values (often just references) are pointers to these objects, and a special null reference, which refers to no object. java reference type 的 variable(變數), 存的是一個 reference value, 指到 object, 也就是 recerence type variable 的 value 是指到一個 object. 改變一個 refernce type 的 variable 的值, 意義是那個 variable 指到不同的 object, 而不是改變 object 裏的內容. 當做 methoad call 時, 參數(actual parameter) 是 refernce type 的 variable 時, ( "the pass-by-reference method transmits an access path, usually an addesss, to the called subprogram." ) java 在 method call , 有沒有 pass 那個 variable 的 access path, 到被呼叫的 method 裏? 沒有. java 是把 variable 的值, 指到 object 的那個 reference value 傳到 method 裏. 只是 pass-by-value, 讓在 method call 裏, 那個參數變數的 value 等於 actual parameter 的 value, 也就是讓 method call 裏的變數所指向的 object, 等於是 actual parameter 上那個變數所指向的 object 是同一個. 是把變數的值傳進去, 該二個變數指向同一個物件. "This provides the access path to the cell storing the actual parameter" java 在 method 裏, 有沒有辦法去 access 到 actual parameter? 那個 refernce type 的 variable? 不能. java 只是能 access 到 actual parameter 的值, 所指到的 object, 而不是能 access 到 actual parameter 的那個 variable. 也就在 method call 裏, 無法去改變 actual parameter 的值, 也就是, 無法讓 actual parameter 的變數, 指到不同的 object. ( 在 c 裏, 還有個 & 的 operator, 可以取到一個 variable 的 "access path", 所以利用 &, 可以把一個 varialbe的 access path 取出來, 成為模擬 pass-by-reference, 有人稱之為 explicit pass-by-reference. 但是, 那個還是不叫 pass-by-refernce, 因為 actual parameter 是 &variable, 不是 variable. pass 的 是一個 variable 的 unary operator 運算結果的一個 value. 更不用說, 在 java 根本沒有任何方式可取到一個 variable 的 "access path". ) -- ※ Origin: 鳥窩 (BirdNest.twbbs.org) ◆ From: 61-62-68-135-adsl-tpe.STATIC.so-net.net.tw







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草
伺服器連線錯誤,造成您的不便還請多多包涵!
「贊助商連結」






like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP