Java架構(gòu)師第五期

接口和抽象類的區(qū)別

比較抽象類接口

默認(rèn)方法抽象類可以有默認(rèn)的方法實(shí)現(xiàn),java 8之前,接口中不存在方法的實(shí)現(xiàn).

實(shí)現(xiàn)方式子類使用extends關(guān)鍵字來繼承抽象類.如果子類不是抽象類,子類需要提供抽象類中所聲明方法的實(shí)現(xiàn).子類使用implements來實(shí)現(xiàn)接口,需要提供接口中所有聲明的實(shí)現(xiàn).

構(gòu)造器抽象類中可以有構(gòu)造器,接口中不能

和正常類區(qū)別抽象類不能被實(shí)例化接口則是完全不同的類型

訪問修飾符抽象方法可以有public,protected和default等修飾接口默認(rèn)是public,不能使用其他修飾符

多繼承一個(gè)子類只能存在一個(gè)父類一個(gè)子類可以存在多個(gè)接口

添加新方法想抽象類中添加新方法,可以提供默認(rèn)的實(shí)現(xiàn),因此可以不修改子類現(xiàn)有的代碼如果往接口中添加新方法,則子類中需要實(shí)現(xiàn)該方法.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容