今天在学习分层解耦-三层架构的过程中,具体文章参照:写文章-CSDN创作中心 在Servie层创建Dao对象时,以及在Controller层创建Service对象时,发现与我之前了解的声明变量的方法不一样。具体关键代码如下:
其中EmpService和EmpDao都是接口类,EmpServiceA和EmpDaoA都是接口实现类 后来查询发现这是使用接口类型声明变量,而以前我仅仅了解使用具体实体类型声明变量、以及上转型对象。 在查询后发现Java中发现声明对象的类型有以下5中
目前在学习过程中,只遇到1、2两种,就先解析这两种 假设我们有一个简单的接口 Shape,其中定义了一个计算面积的方法 calculateArea():
现在我们有两个实现类 Circle 和 Rectangle,分别实现了 Shape 接口:
现在我们来看一下使用不同变量声明类型的例子: 使用接口类型声明变量:
通过使用接口类型 Shape 声明变量,我们可以根据需要灵活地选择具体的实现类来创建对象。这样,我们可以统一对待不同类型的形状,只关注它们共同拥有的方法。 使用具体实现类类型声明变量:
通过使用具体实现类类型声明变量,我们限定了变量只能引用相应的具体类型对象。这样会导致在代码中对具体类型进行硬编码,而不是针对接口进行编程。 总结: 使用接口类型声明变量可以实现多态性(实现不同类中的方法),提高代码的灵活性和可替换性。 |
原文地址:https://blog.csdn.net/weixin_64939936/article/details/131699388
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://www.msipo.com/article-1211.html 如若内容造成侵权/违法违规/事实不符,请联系MSIPO邮箱:3448751423@qq.com进行投诉反馈,一经查实,立即删除!
Copyright © 2024, msipo.com