<?示例1>
?
<練習>
<?示例2>
<示例3>
分析
多態:
Java 中的函數,除了聲明外 final 的外,都是后期綁定。
所謂綁定是建立“函數調用”和“函數本體”的關聯。、
所謂的后期綁定是指執行時根據對象類別而進行
多態僅僅對函數而言,不對變量而言;
變量的訪問依賴于編譯期引用指向的類型;
方法的訪問依賴于執行期對象的類型;
向上轉型后,調用某個函數,若 derived class overriding 了該函數,則會調用該 derived class 中的函數,否則會調用 base class 中的函數。
向上轉型后,只能調用 base class 中被 derived class overriding 的函數,不能調用 derived class 中 extend 函數。
即向上轉型后,只能調用 base class 中的方法,不能調用 derived class 中的擴展方法?補記:編譯器自始自終對引用到底指向哪個型別無能無力,其認為指向聲明的型別,這個是編譯期。而java中除了final修飾的方法外,所有函數都是由“method-cal“的late binding機制,在執行期判知對象的型別,并調用相關的函數,這是執行期。
--------取于 崔毅 之《java編程指南》《java編程思想》學習筆記l
posted on 2006-10-11 17:10 crazycy 閱讀(2824) 評論(6) 編輯 收藏 所屬分類: JavaSE語言
Powered by: BlogJava Copyright © crazycy