1、成員區別:
- 抽象類
* 成員變量:可以變量,也可以常量
* 構造方法:有
* 成員方法:可以抽象,也可以非抽象
- 接口
* 成員變量:只可以常量
* 構造方法:沒有
* 成員方法:只可以抽象
2、關系區別:
- 類與類:繼承,單繼承,多層繼承
- 類與接口:實現,單實現,多實現
- 接口與接口:繼承,單繼承,多繼承
3、設計理念區別:
- 抽象類:被繼承體現的是:"is a"的關系。抽象類中定義的是該繼承體系的共性功能。
- 接口:被實現體現的是:"like a"的關系。接口中定義的是該繼承體系的擴展功能。