因为一个类只能有一个父类,所以提出接口,可以为一些小众的共性作出补充。
区别:
1.接口可以多重继承(继承多个接口),类不可以多重继承;类可以实现多个接口,但类只能继承一个类。
2.抽象类成员变量类型不限,接口中的成员变量只能是public static final的(且必须显式初始化);
3.抽象类可以定义非抽象方法,接口只能定义抽象方法(抽象类中的方法默认public abstract);
4.抽象类可以有静态方法和静态代码块等,接口不可以。
相同点:
1.代表系统的抽象层;
2.都不能被实例化;
3.都能包含抽象方法。
相关阅读:接口的实现和抽象类的继承