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/cn.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灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP