抽象类与接口的区别

抽象类的定义:

成员属性:可以是变量,也可以是常量

成员方法:可以抽象,也可以非抽象(比如:构造方法是一定会有的)

接口类的定义:

成员属性:只能是常量(public static final)

成员方法:只能是抽象(接口没有构造方法,像太监没有小JJ)

多态的区别:

类与类:

继承,单一继承(亲爹只有一个)

类与接口:

实现,单一、多重实现(可以认多个干爹)

接口与接口:

继承,单一、多重继承(可以认多个干爹)

设计理念区别:

抽象类被继承体现的是:“is a”的关系。抽象类中定义的是该继承体系的共性功能。(例如亲爹:直属血缘关系)

接口被实现体现的是:“like a”的关系。接口中定义的是该继承体系的扩展功能。(例如干爹:认契、过继关系)

posted on 2017-07-06 23:04  newstring  阅读(115)  评论(0编辑  收藏  举报