接口和抽象类的相同点
1、都不能被实例化,也就是说接口和抽象类都是多态的一种形式
2、子类继承抽象类时,子类必须重写抽象类中所有的抽象方法,否则子类也是抽象类
3、实现类实现接口,实现类必须重写接口中的所有方法,否则实现类也是抽象类
接口和抽象类的不同点
1.抽象类使用abstract关键;接口使用interface关键字
2.抽象类可以包含抽象方法,还可以编写普通类中包含的的内容;在JDK8.0中,接口中包含:抽象方法(默认有public abstract)、公有静态常量(默认有public static final)、静态方法、public default修饰的方法
3、子类继承抽象类,只能是单继承;实现类实现接口,可以是多实现