1、成员区别
抽象类:
1、成员变量可以是变量,也可以是常量。
2、具有构造方法。
3、抽象类不能被实例化(不能创建抽象类对象)。
4、成员方法可以是抽象的,也可以是非抽象的,子类必须重写父类所有抽象方法。
接口:
1、成员变量默认修饰public static final,为常量,不能被修改。
2、成员方法默认修饰public abstract,为抽象方法,实现类必须重写接口所有抽象方法。
3、接口是没有构造方法的。
4、不能被实例化(不能创建接口对象)。
2、关系区别
1、类与类
继承是单继承,不能多继承,可以多层继承(间接继承)。
2、类与接口
实现,单实现,多实现。
3、接口与接口
继承,单继承,多继承。
3、设计理念区别
抽象类:从多个事物抽取共性的特征,舍弃其余非共性的特征。
接口:扩展功能。