1.抽象類特徵
- 抽象類不能被直接實例化。
- 抽象類的子類必須實現父類所有的抽象方法,除非子類也是抽象類。
- 抽象類裏可以有普通方法,也可以沒有抽象方法,但是抽象方法的類必須是抽象類。
- 一個類可以實現多個接口。
2.接口特徵
- 接口只有方法的聲明,沒有方法的實現。
- 與類不同的是,接口可以繼承多個接口。
- 接口中可以有成員變量,默認的修飾符是 public static fianl ,接口中的方法必須用public 修飾。
- 接口可以繼承其他接口,實現接口合併的功能。
3.抽象類與接口的區別
- 抽象類更側重於對相似的類進行抽象,形成抽象的父類以提供子類繼承使用,而接口在程序設計時,用於定義模塊於模塊之間應滿足的規約,使各模塊之間能協調工作。
- 抽象類可以有普通方法,接口不可以有普通方法。
- 抽象類成員變量的默認修飾符是default, 而接口中成員變量的默認修飾符是public static final.
- 抽象類不能多重繼承,而接口可以實現多重繼承。