- 接口是对动作的抽象,是行为规范;抽象类是对类的抽象,是一种模板设计
- 抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。
- 一个类只能继承一个类(抽象类)但可以实现多个接口
抽象类 | 接口 |
---|---|
extends关键字 | 关键字implements |
有构造器 | 没有构造器 |
public、protected和default修饰符 | 默认public |
单继承 | 多继承 |
可以有静态方法 | 没有静态方法 |
- 抽象类能使用 final 修饰吗?
不能,定义抽象类就是让其他类继承的,可以实现部分代码复用,比如日志功能。如果定义为 final 该类就不能被继承,所以 final 不能修饰抽象类。