一、成员区别:
抽象类:
成员变量:可以变量、也可以常量
构造方法:有
成员方法:可以抽象、也可以非抽象
接口:
成员变量:只可以常量
构造方法:无
成员方法:只可以抽象
二、关系区别:
类与类:
继承:单继承
类与接口:
实现:单实现、多实现
接口与接口:
继承:单继承、多继承
三、设计理念区别
抽象类:被继承体现的是 "is a" 的关系,抽象类中定义的是该继承体系的共性功能。
接 口: 被实现体现的是 "like a" 的关系,接口中定义的是该继承体系的扩展功能。