天天看點

接口和抽象類有什麼差別

1.抽象類和接口都不能直接執行個體化,如果要執行個體化,抽象類變量必須指向實作所有抽象方法的子類對象,接口變量必須指向實作所有接口方法的類對象

2.抽象類要被子類繼承,接口要被類實作

3.接口隻能做方法申明,抽象類中可以做方法申明,也可以做方法實作

4.接口裡定義的變量隻能是公共的靜态的常量,抽象類中的變量是普通變量

5.抽象類曆的抽象方法必須全部被子類所實作,如果子類不能全部實作父類抽象方法,那麼該子類隻能是抽象類,同樣,一個實作接口的時候,如果不能全部實作接口方法,那麼該類也隻能是抽象類

6.抽象方法隻能申明,不能實作,接口是設計的結果,抽象類是重構的結果

7.抽象類裡可以沒有抽象方法

8.如果一個類裡有抽象方法,那麼這個類隻能是抽象類

9.抽象方法要被實作,是以不能是靜态的,也不能是私有的

10.接口可以繼承接口,并可多繼承接口,但類隻能單根繼承

下一篇: 字元流