抽象类与接口的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类与接口的区别相关的知识,希望对你有一定的参考价值。

抽象类的定义:

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

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

接口类的定义:

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

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

多态的区别:

类与类:

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

类与接口:

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

接口与接口:

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

设计理念区别:

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

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

以上是关于抽象类与接口的区别的主要内容,如果未能解决你的问题,请参考以下文章

抽象类与接口的区别

抽象类与接口的区别

java抽象类与接口 中 相同方法的调用

抽象类与接口的区别

PHP中抽象类与接口的区别

Java抽象类与接口的区别: