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