网站首页 > 精选文章 / 正文
【死记硬背】
1 接口和抽象类都不能够实例化,但可以定义接口和抽象类的引用。
2 接口使用interface,抽象类使用abstract class。
3 接口的成员都是public的,而抽象的成员可以是public、protected、default和private的。
4 接口只能做方法的声明,抽象类可以做方法的声明,也可以做方法的实现。
5 接口里定义的只能是公共的静态的常量,而抽象类中的变量是普通的变量。
6 接口主要抽象功能,而抽象类主要用来抽象类别。
7 接口没有构造器,而抽象类有构造器。
【答案解析】
接口设计的目的是对类的行为进行约束,它提供了一种机制,要求接口的不同实现类具有相同的行为,它只约束行为的有无,但是对具体的实现没有限制。接口表达的是一种is a的关系。
抽象类设计的目的是代码的复用,公共的部分放到父类中实现,而不同的部分交由子类去实现,抽象类表达的是一种like a的关系。
使用场景:当关注一个事物本质的时候,用抽象类。当关注一个操作的时候,用接口。
【温馨提示】
点赞+收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!
Tags:abstract class
猜你喜欢
- 2024-12-25 1.行为模式-责任链模式 责任链模式实例
- 2024-12-25 深度解析设计模式七大原则之——开闭原则
- 2024-12-25 31 道设计模式面试题,助你在技术面试中取得成功!
- 2024-12-25 一文学会设计模式,太详细了 文学设计是什么
- 2024-12-25 阿里面试:什么是责任链模式? 责任链模式uml图
- 2024-12-25 5.行为模式-中介者模式 中介的形象
- 2024-12-25 一篇文章搞懂C#的五大设计原则 c#设计模式原则
- 2024-12-25 业务数据治理体系化思考与实践 业务数据管理制度
- 2024-12-25 C# abstract和virtual关键字的区别
- 2024-12-25 多人同时导出 Excel 干崩服务器!参考阿里大佬给出的解决方案