出處:http://m.tkk7.com/crazycy/archive/2006/10/11/74622.html
< 示例1>
<練習(xí)>
< 示例2>
<示例3>
分析
多態(tài):
Java 中的函數(shù),除了聲明外 final 的外,都是后期綁定。
所謂綁定是建立“函數(shù)調(diào)用”和“函數(shù)本體”的關(guān)聯(lián)。、
所謂的后期綁定是指執(zhí)行時(shí)根據(jù)對(duì)象類別而進(jìn)行
多態(tài)僅僅對(duì)函數(shù)而言,不對(duì)變量而言;
變量的訪問依賴于編譯期引用指向的類型;
方法的訪問依賴于執(zhí)行期對(duì)象的類型;
向上轉(zhuǎn)型后,調(diào)用某個(gè)函數(shù),若 derived class overriding 了該函數(shù),則會(huì)調(diào)用該 derived class 中的函數(shù),否則會(huì)調(diào)用 base class 中的函數(shù)。
向上轉(zhuǎn)型后,只能調(diào)用 base class 中被 derived class overriding 的函數(shù),不能調(diào)用 derived class 中 extend 函數(shù)。
即向上轉(zhuǎn)型后,只能調(diào)用 base class 中的方法,不能調(diào)用 derived class 中的擴(kuò)展方法