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