Java之抽象类与接口的区别
No. | 区别 | 抽象类 | 接口 |
1 | 定义关键字 | abstract class 抽象类名称 {} | interface 接口名称 {} |
2 | 组成 | 构造方法、抽象方法、普通方法、静态方法、全局常量、成员 | 抽象方法、普通方法、静态方法、全局常量 |
3 | 权限 | 可以使用各种权限 | 只能使用public |
4 | 子类的使用 | 子类使用extends可以继承一个抽象类 | 子类使用implements可以实现多个接口 |
5 | 两者的关系 | 抽象类可以实现多个接口 | 接口不允许继承抽象类,但是可以继承多个父接口 |
6 | 使用 |
1、抽象类或接口必须定义子类 2、子类必须重写抽象类或接口的抽象方法 3、通过子类的向上转型实现抽象类或接口对象的实例化 |
在设计的开始都是先从接口开始考虑起走的: