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

接口與抽象類對比