天天看點

JAVA中抽象類與接口差別

一、抽象類:

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

2、抽象類要被子類繼承。

3、抽象類中可以做方法申明,也可以做方法實作。

4、抽象類中的變量是普通變量。

5、抽象方法隻能申明,不能實作。abstract void abc();不能寫成abstract void abc(){}。

6、抽象類裡可以沒有抽象方法

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

8、抽象方法要被實作,是以不能是靜态的,也不能是私有的。

二、接口類:

1、接口變量必須指向實作所有接口方法的類對象。

2、接口要被類實作。

3、接口隻能做方法申明。

4、接口裡定義的變量隻能是公共的靜态的常量。

5、接口可繼承接口,并可多繼承接口。

三、總結:

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

四、繼承,接口使用條件環境