相同点:
①接口和抽象类都不能被实例化;
②接口的实现类和抽象类的子类都必须全部重写接口或抽象类中的抽象方法才能被实例化;
不同点:
① 接口不能有构造方法,抽象类可以有;
② 接口不能有方法体,抽象类可以有;
③接口不能有静态方法,抽象类可以有;
④接口中没有变量,都是静态常量,必须是public static final修饰(默认添加),而在抽象类中没有要求;
⑤接口可以被多重实现,抽象类只能被单一继承;
⑥接口定义的关键字interface,抽象类定义的关键字abstract;
⑦抽象类继承的关键字extends,接口的实现关键字implements;
⑧抽象类可以用public 、protected、default这些修饰符修饰方法,接口只能是public abstract修饰抽象方法;