Java之抽象类与接口的区别


No. 区别 抽象类 接口
1 定义关键字 abstract class 抽象类名称 {} interface 接口名称 {}
2 组成 构造方法、抽象方法、普通方法、静态方法、全局常量、成员 抽象方法、普通方法、静态方法、全局常量
3 权限 可以使用各种权限 只能使用public
4 子类的使用 子类使用extends可以继承一个抽象类 子类使用implements可以实现多个接口
5 两者的关系 抽象类可以实现多个接口 接口不允许继承抽象类,但是可以继承多个父接口
6 使用

1、抽象类或接口必须定义子类

2、子类必须重写抽象类或接口的抽象方法

3、通过子类的向上转型实现抽象类或接口对象的实例化

 

在设计的开始都是先从接口开始考虑起走的: