更新時間:2021年03月08日14時23分 來源:傳智教育 瀏覽次數(shù):
接口和抽象類有什么區(qū)別?
(1)抽象類和接口都不能直接實例化,如果要實例化,抽象類變量必須指向?qū)崿F(xiàn)所有抽象方法的子類對象,接口變量必須指向?qū)崿F(xiàn)所有接口方法的類對象。
(2)抽象類要被子類繼承,接口要被類實現(xiàn)。
(3)接口只能做方法申明,抽象類中可以做方法申明,也可以做方法實現(xiàn)
(4)接口里定義的變量只能是公共的靜態(tài)的常量,抽象類中的變量是普通變量。
(5)抽象類里的抽象方法必須全部被子類所實現(xiàn),如果子類不能全部實現(xiàn)父類抽象方法,那么該子類只能是抽象類。同樣,一個實現(xiàn)接口的時候,如不能全部實現(xiàn)接口方法,那么該類也只能為抽象類。
(6)抽象方法只能申明,不能實現(xiàn),接口是設(shè)計的結(jié)果,抽象類是重構(gòu)的結(jié)果
(7)抽象類里可以沒有抽象方法
(8)如果一個類里有抽象方法,那么這個類只能是抽象類
(9)抽象方法要被實現(xiàn),所以不能是靜態(tài)的,也不能是私有的。
(10)接口可繼承接口,并可多繼承接口,但類只能單根繼承。
猜你喜歡: