教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

接口和抽象類有什么區(qū)別?【java面試題】

更新時間:2021年03月08日14時23分 來源:傳智教育 瀏覽次數(shù):

接口和抽象類有什么區(qū)別?

(1)抽象類和接口都不能直接實例化,如果要實例化,抽象類變量必須指向實現(xiàn)所有抽象方法的子類對象,接口變量必須指向實現(xiàn)所有接口方法的類對象。

(2)抽象類要被子類繼承,接口要被類實現(xiàn)。

(3)接口只能做方法申明,抽象類中可以做方法申明,也可以做方法實現(xiàn)

(4)接口里定義的變量只能是公共的靜態(tài)的常量,抽象類中的變量是普通變量。

(5)抽象類里的抽象方法必須全部被子類所實現(xiàn),如果子類不能全部實現(xiàn)父類抽象方法,那么該子類只能是抽象類。同樣,一個實現(xiàn)接口的時候,如不能全部實現(xiàn)接口方法,那么該類也只能為抽象類。

(6)抽象方法只能申明,不能實現(xiàn),接口是設計的結果,抽象類是重構的結果

(7)抽象類里可以沒有抽象方法

(8)如果一個類里有抽象方法,那么這個類只能是抽象類

(9)抽象方法要被實現(xiàn),所以不能是靜態(tài)的,也不能是私有的。

(10)接口可繼承接口,并可多繼承接口,但類只能單根繼承。



猜你喜歡:

揭秘什么是面向接口編程?

Shiro教程:Realm接口實現(xiàn)方式

ApplicationContext接口實例

傳智教育高級Java軟件工程師課程

0 分享到:
和我們在線交談!