1. 关键字
- 定义抽象类的关键字是abstract
- 定义接口的关键字是interface
2.组成
- 抽象类可以由构造方法、普通方法、抽象方法、static方法、常量、变量组成
- 接口由抽象方法和全局常量组成
3.子类使用
- 抽象类由extends来实现子类继承
- 接口是由implements来让子类的实现
- 抽象类和接口要想使用都必须有子类,并且子类覆写全部的抽象方法
- 二者都需要子类的向上转型来实现实例化
4.关系
- 抽象类可以实现多个接口
- 接口不能继承多个抽象类,但可以继承多个父接口
5.权限
- 抽象类可以使用各种权限
- 接口只有pubic权限
6.限制
- 抽象类由单继承限制
- 接口没有单继承限制
总结
综上所述,抽象类中支持的功能绝对要比借口多,但是有一点不好,抽象类有单继承局限,所以当抽象方法和接口都能使用的时候,优先使用接口。