抽象類:
希望基礎(chǔ)類只是為自己的衍生類提供一個(gè)接口。我們不想其他任何人實(shí)際創(chuàng)建基礎(chǔ)類的一個(gè)對(duì)象,只對(duì)上溯造型成他。以便使用他們的接口。為達(dá)到這個(gè)目的,需要把這個(gè)類編程‘抽象’--使用關(guān)鍵字abstract關(guān)鍵字。若有人試圖創(chuàng)建抽象類的一個(gè)對(duì)象,編譯器就會(huì)阻止它們。 ? ? ? ? ? ? 一個(gè)沒(méi)有實(shí)現(xiàn)的方法可以用abstract修飾,抽象方法只能在抽象類中創(chuàng)建。通過(guò)創(chuàng)建一個(gè)抽象方法,我們可以將一個(gè)方法植入接口中,不必再為那個(gè)方法提供毫無(wú)意義的主題代碼。接口將抽象類的概念延伸了一步,完全禁止所有函數(shù)的定義。
總結(jié):抽象類不能實(shí)例化; ?抽象方法不能在非抽象類中定義; ? ?繼承了抽象類,必須重寫抽象方法; ? ?接口將抽象類概念延伸,完全禁止所有函數(shù)定義。(1.8后可寫default);

接口與抽象類對(duì)比