java 板


LINE

※ 引述《forris (乔巴)》之铭言: : class Father{ : String name = "Father"; : String getName(){ : return name; : } : String greeting(){ : return "class Father"; : } : } : class Son extends Father{ : String name = "Son"; : String greeting(){ : return "class Son"; : } : void foo(){ : System.out.println(((Son)this).greeting()); : System.out.prtinln(((Father)this).greeting()); : } : } ///恕删 我想你的问题,应该从binding的角度来解释比较好 所谓的binding,比较不正式的说,是指程式中变数、参照与记忆体中实际位址 与内容的结合。 而binding又可以分成late binding与early binding。 如果你熟悉C/C++的话,我想你会比较有感觉。 不过我想直接跳过太罗嗦的Language Model的部份来解释两者的不同应该比较合适 所谓的early binding,指的是变数的内容或者要呼叫的函式所在位址(记忆体位址) 在编译时候就被指定了。 然而late binding,则刚好相反,是在程式执行的时候才决定。 在Java language中,都是late binding。所以当你呼叫this.greeting()时 是在程式执行时候决定(JVM会帮你处理),因此不管你怎麽转型,呼叫到的都是 Son的greeting()。除非你明确使用super关键子告诉JVM你要呼叫父类别的greeting() 也就是说,JVM是在执行的时候,根据你的参照(reference)所指到的实体来决定 greeting()要从哪一个记忆体位址开始执行。 为了更好的理解,我们稍微探讨一下C/C++的例子。 以C/C++的角度来看这样子的例子的话(非Reference & Pointer) C/C++预设是early binding。除非在函式宣告的时候使用virtual关键字 否则会套用预设的early binding。因此上述的例子,则会印Father和Son。 我想我解释的不是很好....因为实在懒得打字.... 如果有兴趣的话,问一下google,late binding和early binding,会有满意的 记忆体跟语言模型可以看... --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.67.160







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

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

TOP