重載overloading和覆寫overriding哪個更早起作用-- visitor幫助篇
接受建議,改一下標題.例子不太恰當,我刪除了。換成了回文中的例子。
重載overloading和覆寫overriding哪個更早執(zhí)行--?? visitor幫助篇
一:問題提出
雖然我們經(jīng)常寫程序用到重載和覆寫,但是很少會考慮他們的執(zhí)行順序。下邊的內容就是關于,他們同時出現(xiàn)時
哪個先起作用:
二:問題分析
Java是"動態(tài)單分派靜態(tài)多分派語言",這個定義已經(jīng)多次提起,如果你不了解這些概念,看這里"visitor模式準備"
所以就注定了重載(靜態(tài)多分派)要早于覆寫(動態(tài)單分派),因為靜態(tài)分派是編繹期實現(xiàn)的,動態(tài)分派是執(zhí)行期實現(xiàn)的。
三:驗證
見這里
最后的部分:
看完本文,如果你對visitor模式有更多的興趣,想了解更多請看如下幾篇文章。
1,靜態(tài)分派,動態(tài)分派,多分派,單分派 --------------?? visitor模式準備
2,訪問差異類型的集合類 ------------------------?? visitor模式入門
3,visitor模式理論及學術概念-------------------?? visitor模式進一步
4,重載overloading和覆寫overriding哪個更早執(zhí)行--?? visitor幫助篇 (本文)
雖然排列順序是1,2,3,4但是我個人建議的學習方式是2,1,3,4因為這個順序更方便一般人理解
posted on 2006-12-18 20:20 dreamstone 閱讀(3831) 評論(18) 編輯 收藏 所屬分類: jdk相關