下面是一個很簡單的例子,關于Java中的多态:方法重載和方法覆寫;
多态指的是方法在不同的時刻表現出不同的形式;在編譯期間,這被叫做方法重載;方法重載允許相關的方法被同一個方法名字調用,這有時候被叫做ad-hoc polymorphism;


那麼對于編譯器來說,如何生成方法代碼以便能被正确調用呢?
靜态重載的實作并不難,當處理重載方法聲明的時候,将他們綁定到不同的實作,在類型檢查的時候,編譯器分析參數類型來決定哪個方法被調用;
動态重載允許在運作期間根據實際參數類型來選擇不同的方法實作,這是動态分發(dynamic dispatch)的一種形式;
動态分發(dynamic dispatch)同樣可以用于實作方法覆寫,被覆寫的方法的調用由運作期間實際對象的類型來決定;
本文轉自風一樣的碼農部落格園部落格,原文連結:http://www.cnblogs.com/chenpi/p/5493809.html,如需轉載請自行聯系原作者