摘要: 16、對于非面向?qū)ο蟮木幊蹋a(chǎn)生的函數(shù)調(diào)用會引起“前期綁定”。編譯器產(chǎn)生對一個具體函數(shù)名字的調(diào)用,而連接器將這個調(diào)用解析到將要被執(zhí)行的代碼的絕對地址。相反地,在面向?qū)ο缶幊讨胁捎昧恕昂笃诮壎ā保攲ο蟀l(fā)送消息時,被調(diào)用的代碼直到運行時才能被確定。為了執(zhí)行后期綁定,Java采用一段特殊的代碼來替代絕對地址調(diào)用。這段代碼使用在對象中存儲的信息來計算方法體的地址。
(多態(tài),或者說是向上轉(zhuǎn)型。他忽略了類型的具體細節(jié),僅僅和基類交互。這很符合我們?nèi)祟惖乃季S習慣,比如你會開車,那么給你一輛奔馳你肯定能開,寶馬也可以。只需說我在開車,而不必說我在開奔馳開寶馬。當然你可以這么說,炫耀一下也不是錯^_^,Java允許你這么做。)
閱讀全文