抽象类和接口的区别:
A:成员区别
抽象类:
成员变量:可以是变量,也可以是常量
构造方法:有,用于子类访问父类数据的初始化。
成员方法:可以抽象,也可以非抽象
接口:
成员变量:只可以常量,而且是静态的,默认修饰符:public static final
构造方法:接口没有构造方法。
成员方法:只能是抽象的方法,默认修饰符:public abstract
B:关系区别
类与类之间是单继承,也可以是多层继承
类与接口之间可以单实现,也可以多实现
接口与接口可以单继承,也可以多继承
C:设计理念区别
抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。
接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。 |