抽象類(lèi)
包含抽象方法的類(lèi)就是抽象類(lèi),聲明的語(yǔ)句:abstract class
必須是public protected
接口
對(duì)行為的抽象,聲明語(yǔ)句:interface
抽象方法的修飾符:public abstract
成員變量的修飾符:public static final
語(yǔ)法層面
- 抽象類(lèi)中可以包含成員方法的實(shí)現(xiàn)細(xì)節(jié),而接口中只能存在抽象方法-public abstract
- 抽象類(lèi)中的成員變量可以是各種類(lèi)型,接口中的成員變量只能是public static final
- 抽象類(lèi)中可以包含靜態(tài)方法和靜態(tài)代碼塊,接口中不能包含
- 一個(gè)類(lèi)只能繼承一個(gè)抽象類(lèi),可以實(shí)現(xiàn)多個(gè)接口
- 訪(fǎng)問(wèn)修飾符不同:抽象類(lèi)方法的修飾符是public/protected;接口中方法的修飾符必須是public
設(shè)計(jì)層面
抽象類(lèi)是對(duì)事物的抽象,對(duì)類(lèi)的抽象;接口是對(duì)行為的抽象,描述的是一種行為規(guī)范
抽象類(lèi)是對(duì)整個(gè)類(lèi)進(jìn)行抽象描述,包含屬性和行為;接口只能對(duì)類(lèi)的行為進(jìn)行抽象
附上一幅圖:
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!