抽象类和接口的区别:
A.成员区别
a.抽象类
成员变量:可以是变量,也可以是常量
构造方法:有,用于子类访问父类数据的初始化
成员方法:可以是抽象,也可以是非抽象
b.
成员变量:只可以是常量并且是静态的
构造方法:无
成员方法:只可以是抽象
B.关系区别
类与类:继承关系,只可以是单继承,可以是多层继承
类与接口:实现关系,可以单实现,也可以是多实现
接口与接口与:继承关系,可以是单继承,也可以是多继承
C.设计理念不同
抽象类:被继承体现的是"is a"的关系,抽象类中定义的是该继承体系的共性功能
接口:被实现体现的是"like a"的关系,接口中定义的是该继承体系的扩展功能 |