接受建議,改一下標(biāo)題.例子不太恰當(dāng),我刪除了。換成了回文中的例子。
重載overloading和覆寫overriding哪個(gè)更早執(zhí)行--?? visitor幫助篇
一:?jiǎn)栴}提出
雖然我們經(jīng)常寫程序用到重載和覆寫,但是很少會(huì)考慮他們的執(zhí)行順序。下邊的內(nèi)容就是關(guān)于,他們同時(shí)出現(xiàn)時(shí)
哪個(gè)先起作用:
二:?jiǎn)栴}分析
Java是"動(dòng)態(tài)單分派靜態(tài)多分派語(yǔ)言",這個(gè)定義已經(jīng)多次提起,如果你不了解這些概念,看這里"visitor模式準(zhǔn)備"
所以就注定了重載(靜態(tài)多分派)要早于覆寫(動(dòng)態(tài)單分派),因?yàn)殪o態(tài)分派是編繹期實(shí)現(xiàn)的,動(dòng)態(tài)分派是執(zhí)行期實(shí)現(xiàn)的。
三:驗(yàn)證
見這里
最后的部分:
看完本文,如果你對(duì)visitor模式有更多的興趣,想了解更多請(qǐng)看如下幾篇文章。
1,靜態(tài)分派,動(dòng)態(tài)分派,多分派,單分派 --------------?? visitor模式準(zhǔn)備
2,訪問差異類型的集合類 ------------------------?? visitor模式入門
3,visitor模式理論及學(xué)術(shù)概念-------------------?? visitor模式進(jìn)一步
4,重載overloading和覆寫overriding哪個(gè)更早執(zhí)行--?? visitor幫助篇 (本文)
雖然排列順序是1,2,3,4但是我個(gè)人建議的學(xué)習(xí)方式是2,1,3,4因?yàn)檫@個(gè)順序更方便一般人理解