java 板


LINE

各位板友好 目前在學習 method overloading,已經了解到不同 method 要 overloading 的前提是: 1. method的名稱要相同 2. 參數的型別順序或種類不同 另外,看到一句話有點不解 Internally, the compiler uses longer method names that include the original method name, the types of each parameter and the exact order of the parameters to determine whether the methods in a class are unique in that class. 解讀這句話的意思是: 編譯器實際的作法,是用較長的 method 簽名,來判定 類別中的其餘 method 是否為唯一。 但還是想多了解一些細節 我可以理解,不管程式中有無呼叫這些 overloaded method,編譯器也應該會去 比較不同 method,來確定類別中一定不會發生兩個以上的 method 有著相同簽名 但所謂的「longer」的意思是,有著較多參數的 method 嗎? 如果有板友能再多解釋一下編譯器的實際判定作法就太好了 謝謝~ --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.91.203
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1457894092.A.9DD.html
1F:推 LPH66: 你(或者是教材)或許把 overload 跟 override 搞混了 03/14 03:32
2F:→ LPH66: 這裡講的東西比較接是 override, 繼承時有沒有覆蓋父類方法 03/14 03:33
3F:→ LPH66: 接近* 03/14 03:33
4F:→ LPH66: overload 則只單純是同名, 而且正是以參數的不同做為分別 03/14 03:34
5F:→ LPH66: 至於所謂的較長 method 簽名, 各語言或各編譯器有不同做法 03/14 03:35
6F:→ LPH66: java 的做法是把參數型態和回傳值編碼成一個字串 03/14 03:36
7F:→ LPH66: 使用這字串和函數名共兩個字串做一組來看 03/14 03:37
8F:→ LPH66: 其他語言有把這兩個字串給編碼在一起成一個字串的 (如 C++) 03/14 03:37
9F:→ LPH66: 一般這類的編碼規則會叫做 name-mangling 03/14 03:40
10F:→ edash: 抱歉,開頭那邊打錯了,我修改一下 03/14 03:45
※ 編輯: edash (1.162.91.203), 03/14/2016 03:45:54
11F:→ edash: 謝謝回應,我大概懂意思了 03/14 12:31
12F:→ cha122977: 我個人的解讀是,compiler其實用的名稱比你寫的還長 03/14 22:04
13F:→ cha122977: 那個更長的名稱則是以 原名稱+其參數型別 組合出來的 03/14 22:06
14F:→ cha122977: 因此只要參數型別/數量不同 就會被判斷成別的function 03/14 22:06
15F:→ cha122977: 表面上名稱一樣,但對compiler來說兩者是不一樣的東西 03/14 22:12
16F:→ cha122977: ^參數不同的 03/14 22:12
17F:→ edash: 謝謝兩位回應 03/16 07:12







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燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP