欢迎光临散文网 会员登陆 & 注册

面试精选5-接口和抽象类在开发设计中如何选择?

2022-09-22 10:20 作者:架构风清扬-趣学旅程  | 我要投稿

这个问题,要分JDK版本来区分回答:

1,语法层面

1.1,JDK1.8之前

抽象类:方法可以有抽象的,也可以有非抽象, 有构造器

接口:方法都是抽象,属性都是常量,默认有public static final修饰

1.2,JDK1.8之后

接口里面可以有实现的方法,注意要在方法的声明上加上default或者static

2,开发设计层面

抽象类:同一类事物的抽取,比如针对Dao层操作的封装,如,BaseDaoImpl,BaseServiceImpl

接口:通常更像是一种标准的制定,定制系统之间对接的标准规范

  • 例子:

  • 1,单体项目,分层开发,接口作为各层之间交互的纽带,在controller中注入IUserService,在Service注入IUserDao

  • 2,分布式项目,面向服务的开发,抽取服务service,这个时候,就会产生服务的提供者和服务的消费者两个角色

  • 这两个角色之间的纽带,依然是接口

视频解读版链接:

https://www.bilibili.com/video/BV1CF411x74P/?spm_id_from=333.788&vd_source=f66db79b04d3d1f2d3f349e50525f38e

面试精选5-接口和抽象类在开发设计中如何选择?的评论 (共 条)

分享到微博请遵守国家法律