面试-接口和纯虚类的区别

相关资料:
1.https://zhidao.baidu.com/question/91157279.html

纯虚类:
1.一个子类只能继承一个抽象类(虚类)。
2.一个抽象类可以有构造方法。
3.一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方法体)。
4.一个抽象类可以是public、private、protected、default,
5.一个抽象类中的方法可以是public、private、protected、default。
6.而abstract class需要继承,要用extends。
7.而abstract class强调所属关系。

接口:
1.一个子类能实现多个接口。
2.接口没有构造方法。
3.接口中的方法都是抽象方法,不能有方法体,只有声明。
4.接口只有public,default。
5.接口中的方法只能是public和default。
6.interface需要实现,要用implements。
7.interface强调特定功能的实现,

相同之处:
1.两者都是抽象类,都不能实例化。
2.interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。

PS:接口是一类特殊的抽象类,是更抽象的抽象类,你可能这样理解。抽象类是一个不完整的类,接口只是定义了一些功能。

原文地址:https://www.cnblogs.com/FKdelphi/p/6424853.html