1、抽象类是is-a的关系如果B是A 就用抽象类,而接口是like-a关系,如果B像A就用接口
2、接口和抽象类都不能被实例化,但是接口不能有构造函数,抽象类却可以有构造函数
3、接口里的变量默认都是 public static final(只能用public,其他修饰符不可以),抽象类修饰符是public、protected、default
4、接口只能包含静态方法,抽象类可以包含普通方法(只有一个抽象发法就成为抽象类)
5、接口只能定义静态常量属性,抽象类既可以定义普通属性,也可以定义静态常量属性
6、类如果实现了一个接口,必须要实现接口里所有的抽象方法,要不然就被定义为抽象类