本文主要是介绍提升篇---接口和抽象类的本质区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家好,这里是教授.F
语法区别:
-
方法实现:接口中定义的方法默认都是抽象的,不包含方法的实现;而抽象类可以包含抽象方法和具体方法的实现。
-
多继承:一个类只能继承一个抽象类,但可以实现多个接口。这意味着接口支持多继承,而抽象类不支持多继承。
-
成员变量:接口中只能包含常量,而抽象类可以包含各种类型的成员变量。
-
构造方法:接口没有构造方法,而抽象类可以有构造方法。
-
访问修饰符:接口中的成员变量默认都是public static final类型,方法默认都是public abstract类型;而抽象类的成员变量和方法可以有各种访问修饰符。
本质区别:
接口:自上向下
抽象类:自下向上
接口的自上向下:
我们在定义接口的时候,我们只管实现方法,并不考虑实现的子类实现。
抽象类的自下向上:
首先,我们为什么要搞抽象类???不就是有一些共同的方法,然后抽离出来吗?例如猫、狗,都要吃饭、睡觉。我们就把这些共性抽离。所以抽象类是由子类抽离向上的。
这篇关于提升篇---接口和抽象类的本质区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!