接口和抽象类是JAVA面向对象设计的两个基础机制
- 接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到 API 定义和实现分离的目的。
- 抽象类的目的是代码重用
|
接口 |
抽象类 |
构造方法 |
无 |
可有 |
普通成员变量 |
必须为public final static |
可有 |
方法 |
必须为public abstract |
普通 or 抽象 |
抽象方法类型 |
public |
public protected private |
静态方法 |
无 |
可以有 |
静态成员变量 |
public |
任意 |
一个类 |
实现多个接口 |
继承一个 |
实现所有方法 |
需要 |
不需要 |
final修饰 |
不可以 |
不可以 |
实例 |
不可以 |
不可以 |
选用时机 |
接口中增加一个方法,那么多有实现接口的类都要增加这个实现的方法 |
升级 |