java 中接口和抽象類的區(qū)別與對比
java 中接口和抽象類的區(qū)別與對比
接口和抽象類的概念不一樣。
接口是對動作的抽象,抽象類是對根源的抽象。
抽象類表示的是,這個對象是什么。接口表示的是,這個對象能做什么。比如,男人,女人,這兩個類(如果是類的話……),他們的抽象類是人。說明,他們都是人。
人可以吃東西,狗也可以吃東西,你可以把“吃東西”定義成一個接口,然后讓這些類去實現(xiàn)它.
所以,在高級語言上,一個類只能繼承一個類(抽象類)(正如人不可能同時是生物和非生物),但是可以實現(xiàn)多個接口(吃飯接口、走路接口)。
第一點:接口是抽象類的變體,接口中所有的方法都是抽象的。而抽象類是聲明方法的存在而不去實現(xiàn)它的類。
第二點:接口可以多繼承,抽象類不行
第三點:接口定義方法,不能實現(xiàn),而抽象類可以實現(xiàn)部分方法。
第四點 : 接口中基本數(shù)據(jù)類型為static 而抽類象不是的。
當(dāng)你關(guān)注一個事物的本質(zhì)的時候,用抽象類;當(dāng)你關(guān)注一個操作的時候,用接口。
抽象類的功能要遠超過接口,但是,定義抽象類的代價高。因為高級語言來說(從實際設(shè)計上來說也是)每個類只能繼承一個類。在這個類中,你必須繼承或編寫出其所有子類的.
所有共性。雖然接口在功能上會弱化許多,但是它只是針對一個動作的描述。而且你可以在一個類中同時實現(xiàn)多個接口。在設(shè)計階段會降低難度的。
以上就是java中接口與抽象類的詳解,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Springboot配置Swagger的實現(xiàn)示例
Swagger 是一種提高 API 開發(fā)和維護效率的工具,它使開發(fā)者能夠更輕松地構(gòu)建、測試和文檔化 API,本文主要介紹了Springboot配置Swagger的實現(xiàn)示例,感興趣的可以了解一下2023-10-10Mybatis空值關(guān)聯(lián)的問題解析及解決方案
這篇文章給大家介紹了Mybatis空值關(guān)聯(lián)的問題解析及解決方案,文中通過代碼示例介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01springboot2.2.2集成dubbo的實現(xiàn)方法
這篇文章主要介紹了springboot2.2.2集成dubbo的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01用Java實現(xiàn)全國天氣預(yù)報的api接口調(diào)用示例
查詢天氣預(yù)報在APP中常用的一個常用功能,本文實例講述了java調(diào)用中國天氣網(wǎng)api獲得天氣預(yù)報信息的方法。分享給大家供大家參考。2016-10-10