抽象类可否替代接口?
Posted cynthialin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类可否替代接口?相关的知识,希望对你有一定的参考价值。
先说说抽象类和接口的相同和不同之处。
相同点
-
都是引用数据类型,不能直接创建对象。
-
都可以定义抽象方法,可实现运行时多态。
-
都具有传递性(继承)。
-
概念上都可以需被(子类/实现类)重写抽象方法(实现类叫“实现接口方法”)。
不同点
-
抽象类可以定义非抽象方法。
接口不能定义非抽象方法。
-
类是单继承。
接口是多继承。
-
子类是重写抽象类的方法。
接口是实现接口的方法。
-
抽象类和子类解决模块内问题,高内聚。
接口和实现类解决模块间问题
总结
接口是一种特殊的抽象类,比抽象类更加抽象。
若不考虑多继承问题,我认为只有抽象方法的抽象类是可以代替接口
以上是关于抽象类可否替代接口?的主要内容,如果未能解决你的问题,请参考以下文章