1)
定义抽象类用class,只能有一个父类,abstract不能省略
接口用interface,可以有多个父接口
2)
抽象类的属性默认是default,没有static final修饰
接口中属性默认是public static final修饰
3)
抽象类中可以有构造函数,供子类调用
接口中不能有构造函数
4)
抽象类中可以有普通方法,甚至可以全是普通方法而没有抽象方法。abstract不能省略
接口中必须全是抽象方法,不能有普通实例方法,可以有静态方法包含方法体,abstract可省略
5)
抽象类定义多个子类公共的属性和方法
接口定义的是多个无关类的公共的属性和方法