抽象类用abstract class声明,只能有一个父类;接口用interface声明,可以有多个父接口
抽象类属性默认default 修饰;接口属性默认 public static final 修饰
抽象类中可以写构造函数(供子类调用);接口不能写构造函数
抽象类中可以有抽象方法,也可以全是普通方法,abstract必须写;接口中只能有抽象 方法,不能有普通方法,abstract可以省略
抽象类中定义的同一类有父子关系的抽象方法;接口定义的是多个无关类的抽象方法
补充:
普通类和抽象类都可以实现接口。普通类实现接口必须实现接口中所有方法,抽象类实现接口可以不实现接口中的方法,相当于继承接口中的抽象方法
接口可以继承接口,而且支持多重继承
抽象类可以实现接口,抽象类从接口继承抽象方法,在抽象类中可以实现方法也可以不实现 方法,因为抽象类中允许有抽象方法
抽象类可以继承具体类也可以继承抽象类
普通类可以继承抽象类,前提是重写抽象类中所有的抽象方法
接口不能继承抽象类,抽象类中可以有普通方法,接口中不能有普通方法
接口 extends(继承) 接口
类 extends(继承) 类
(抽象)类 implements(实现) 接口



