java 抽象類與接口的區(qū)別介紹
抽象類與接口的區(qū)別
抽象類
包含抽象方法的類就是抽象類,聲明的語句:abstract class
必須是public protected
接口
對行為的抽象,聲明語句:interface
抽象方法的修飾符:public abstract
成員變量的修飾符:public static final
語法層面
- 抽象類中可以包含成員方法的實現(xiàn)細節(jié),而接口中只能存在抽象方法-public abstract
- 抽象類中的成員變量可以是各種類型,接口中的成員變量只能是public static final
- 抽象類中可以包含靜態(tài)方法和靜態(tài)代碼塊,接口中不能包含
- 一個類只能繼承一個抽象類,可以實現(xiàn)多個接口
- 訪問修飾符不同:抽象類方法的修飾符是public/protected;接口中方法的修飾符必須是public
設計層面
抽象類是對事物的抽象,對類的抽象;接口是對行為的抽象,描述的是一種行為規(guī)范
抽象類是對整個類進行抽象描述,包含屬性和行為;接口只能對類的行為進行抽象
附上一幅圖:
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
MyBatis中動態(tài)sql的實現(xiàn)方法示例
這篇文章主要給大家介紹了關于MyBatis中動態(tài)sql的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-11-11
使用java生成json時產(chǎn)生棧溢出錯誤問題及解決方案
這篇文章主要介紹了使用java生成json時產(chǎn)生棧溢出錯誤問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
兼容Spring Boot 1.x和2.x配置類參數(shù)綁定的工具類SpringBootBindUtil
今天小編就為大家分享一篇關于兼容Spring Boot 1.x和2.x配置類參數(shù)綁定的工具類SpringBootBindUtil,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Java基于elasticsearch實現(xiàn)集群管理
這篇文章主要介紹了java基于elasticsearch實現(xiàn)集群管理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-02-02

