抽象类:如果一个类没有包含足够的信息来描述一个具体的对象,这样的就是一个抽象类。抽象类可以有构造方法,可以有抽象方法也可以没有。抽象类作为接口与实体类中间体,用来继承的。功能有细节实现,不断有改变时可以使用抽象类。
接口:更多的是定义规范,顶层设计,将定义与实现分离,接口下面往往是抽象类来实现。所有成员方法都是抽象方法,也就是在不同的地方会有不同的实现,可以有静态方法或者默认实现,默认是abstract。成员属性只能是静态变量或者常量,默认是public static final。
接口允许多重继承接口,原因是接口都是抽象方法,继承谁都可以,而类不可以,两个类有相同的方法时,是不知道继承谁的。