抽象类 Abstract Class
1 | abstract class 类名 { |
接口 Interface
1 | interface 接口名 { |
- 抽象类是对类的抽象,而接口是对行为的抽象。
- 抽象类是自底向上抽象而来的,而接口是自顶向下设计出来的。
- 抽象类,抽象出共同的本质特殊,单一继承,is-a关系;接口,个性化特征,多重实现,like-a关系。
- 抽象类可以有非abstract的成员方法;而接口所有成员方法默认为public abstract。
- 抽象类中的变量默认为friendly;而接口中定义的变量默认public static final,且必须初始化。