1. 程式人生 > >抽象類(abstract class)和接口(interface)有什麽異同?

抽象類(abstract class)和接口(interface)有什麽異同?

否則 繼承 默認 strong 什麽 成員 -s 實例 abstract

相同點:

1.抽象類和接口都不能被實例化,但可以定義抽象類和接口類型的引用。

2.一個類如果繼承了抽象類和接口,必須要對其中的抽象方法全部實現。(接口中方法默認的是public abstract修飾的)否則該類仍然需要被聲明為抽象類。

不同點:

1、抽象類可以有構造方法,抽象方法和具體方法

  接口不能有構造方法,而且其中的方法全部都是抽象方法。(接口中方法默認的是public abstract修飾的

2、抽象類中的成員可以使private、默認、protected、public的

  接口中的成員全部都是public的。

3、抽象類可以 定義成員變量

  接口中定義的成員變量其實都是常量

。(接口中的成員變量默認是public static final 修飾的

抽象類(abstract class)和接口(interface)有什麽異同?