抽象类和接口的区别


成员区别

* 抽象类:

* 成员变量:可以变量,也可以常量

* 构造方法:有

* 成员方法:可以抽象,也可以非抽象

* 接口:

* 成员变量:只可以常量

* 成员方法:只可以抽象


关系区别

* 类与类

* 继承,单继承

* 类与接口

* 实现,单实现,多实现

* 接口与接口

* 继承,单继承,多继承


设计理念的区别

抽象类可以被继承 ,体现的是一种"is a"的关系 , 抽象类中定义的都是该继承体系中共性的内容

接口需要被实现 , 体现的是一种"like a"的关系 , 接口中定义的都是该继承体系中扩展性的内容

原文地址:https://www.cnblogs.com/loaderman/p/6407174.html