接口和抽象类的区别是什么?
接口必须使用 implements 来实现接口;抽象类的子类使用 extends 来继承
接口不能有构造函数;抽象类可以有构造函数
一个类只能继承一个抽象类,但可以实现多个接口
抽象类中成员变量默认 default,可在子类中被重新定义,也可被重新赋值,抽象方法被 abstract 修饰,不能被 private、static、synchronized 和 native 等修饰;接口中成员变量默认为 public static final 修饰,必须赋初值,不能被修改,其所有的成员方法默认使用 public abstract 修饰的