抽象类:含有abstract修饰符的类即为抽象类,抽象类不能创建实例对象
接口:是一种抽象类型,是抽象方法的集合,接口无法被实例化,但是可以被实现
区别:
所有的抽象类都是Object类的子类,而接口则没有默认的最顶层父接口
抽象类有构造方法,接口没有构造方法
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的
抽象类只能继承一个,接口可以实现多个
接口中所有的属性都是公开静态常量,默认被public static final修饰
接口中所有的方法都是公开抽象方法,默认被public abstract修饰
在JDK8.0以后,接口中允许存在静态方法
在JDK8.0以后,接口中可以定义默认方法