3.4、抽象類和接口的比較(重點)
抽象類和接口在使用上都是很相似的,那麼在開發之中,使用何種技術呢,下面通過一個表格進行歸納:
No. |
區別點 |
抽象類 |
接口 |
1 |
關鍵字 |
使用abstract關鍵字 |
使用interface關鍵字 |
2 |
組成 |
抽象方法、普通方法、構造方法、常量、變量、全局常量 |
全局常量、抽象方法 |
3 |
權限 |
可以是各個權限 |
只能是public權限 |
4 |
使用 |
子類使用extends繼承抽象類 |
子類使用implemetns實現接口 |
5 |
設計模式 |
模板設計模式 |
工廠設計、代理設計 |
兩者結合可以完成適配器設計模式 |
|||
6 |
實例化對象 |
都是依靠對象的多態性,採用向上轉型的關係,通過子類進行對象的實例化 |
|
7 |
關係 |
抽象類可以包含內部抽象類和內部接口,一個抽象類可以同時實現多個接口 |
接口也可以包含內部抽象類和內部接口,一個接口不能繼承抽象類,但是可以同時繼承多個接口 |
8 |
限制 |
一個子類只能繼承一個抽象類,有單繼承侷限 |
一個子類可以同時實現多個接口,無單繼承侷限 |