開始在簡(jiǎn)書的第一篇文章卡啰,今天面試的第一個(gè)問題,解釋下java的多態(tài)性,雖然解釋出來了刑然,但是個(gè)人覺得還是不滿意。所以還是要總結(jié)下球涛,為了下次能更好地回答這個(gè)問題。
java有三大特性校镐,封裝亿扁、繼承、多態(tài)鸟廓。今天來說說多態(tài)从祝,多態(tài)是Java實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的基礎(chǔ)是動(dòng)態(tài)方法調(diào)度襟己,它是一種在運(yùn)行時(shí)而不是在編譯期調(diào)用重載方法的機(jī)制。
(1)運(yùn)行時(shí)多態(tài):
運(yùn)行時(shí)多態(tài)是指程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用在編程時(shí)并不確定哄褒,而是在程序運(yùn)行期間才確定稀蟋,即一個(gè)引用變量倒底會(huì)指向哪個(gè)類的實(shí)例對(duì)象煌张,該引用變量發(fā)出的方法調(diào)用到底是哪個(gè)類中實(shí)現(xiàn)的方法呐赡,必須在由程序運(yùn)行期間才能決定.
(2)java多態(tài)性的的實(shí)現(xiàn)的表現(xiàn)形式有:
? ?(2.1)接口和實(shí)現(xiàn)接口并覆蓋接口中的同一個(gè)方法的幾種不同類實(shí)現(xiàn);
? ?(2.2)父類和繼承父類并覆蓋接口中的同一個(gè)方法的幾種不同類實(shí)現(xiàn)骏融;
? (2.3)重載Overloading是一個(gè)類中多態(tài)性的表現(xiàn)形式链嘀。
(3)具體實(shí)現(xiàn):有一道經(jīng)典的面試題講的很好:http://www.jb51.net/article/34413.htm