首页 > 编程语言 >A接口实现类中a方法调用了c方法,B接口的实现类b方法也需调用A接口的实现类中的c方法,在java中如何实现?

A接口实现类中a方法调用了c方法,B接口的实现类b方法也需调用A接口的实现类中的c方法,在java中如何实现?

时间:2024-03-12 12:00:57浏览次数:25  
标签:调用 java 实现 接口 方法 类中

1.情景展示

在实际开发过程中,往往会存在这样的情况:

在A接口的实现类a方法实现了某个功能,现在B接口的实现类b方法也需要实现此功能,两者大致相同。

为了提高代码的复用性,我们可以把A接口的实现类a方法的具体实现过程进行封装成c方法,供A、B两个接口的实现类调用。

2.具体分析

第一步:将共用的代码提取出来并封装成方法。

同类调用

第二步:由于该方法和调用方a方法在同一个实现类,所以直接调用即可。

接口调用

第一步:在B接口实现类中注入A接口的实现类。

用的是构造注入。

第二步:引用A接口实现类的c方法。

这时,你将发现无法直接调用。

怎么办?

3.解决方案

将A接口实现类的c方法变成A接口的方法。

这样就不再报错了。

说明:

在A接口的实现类中,a方法调用了c方法,属于内部调用:方法调方法。

而在B接口的实现类中,b方法调用了c方法,属于外部调用:B接口的b方法调A接口的c方法,是接口间的调用。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

标签:调用,java,实现,接口,方法,类中
From: https://www.cnblogs.com/Marydon20170307/p/18067991

相关文章

  • python得scrapy抓中文,保存csv、json、txt文件乱码解决方法
    保存json和txt文件,出现这种东西不是乱码,是unicode,例如:\u96a8\u6642\u66f4\u65b0>\u25a0\u25a0\u25a在settings.py文件中加入下面一句code,之后就是中文了。FEED_EXPORT_ENCODING='utf-8'保存csv表格文件时,会出现中文乱码,这个确实是乱码,例如:瀵掑啲瀹濈彔鎶......
  • Total Commander(TC)批量切换标签的方法
      2人赞同了该文章TC能否批量切换标签?比如:工作场景下,打开多个与工作场景相关的文件夹标签;学习场景下,需要打开多个与学习场景相关的文件夹标签。这些文件夹标签分别组成【工作标签组】和【学习标签组】。能否实现【工作标签组】和【学习标签组】之间的切换呢?答案是肯......
  • Angular 我在点击了上一页或者下一页方法之后,重新加载渲染数据。为什么还需要再点击一
    在你的TypeScript代码中,当调用nextPage_TopSelling()或prevPage_TopSelling()方法时,虽然你更新了currentPage_TopSelling的值并调用了reloadTopSelling()方法,但是Angular并不会自动检测到这些变化并重新渲染页面。这是因为Angular的变化检测机制是基于异步的,在一些......
  • win11wi-fi图标消失解决方法
    今早我的wi-fi图标没了,我试图解决尝试了以下方法。 1.重启/关机电脑,看是否有用。2.进入到控制面板——计算机管理——服务——WLANAutoConfig,WLANDirect这两个服务,启动类型都设置成自动,并启用它。最后重启电脑看是否有用。!注意【网络和Internet>高级网络设置下有个网络重......
  • 记一次type-c接口外接硬盘没反应的解决方法
    我用的是外接硬盘,所以会出现这种情况,因此,我会把遇见的问题分享给大家,若有不足,请补充,非常感谢。先把电脑上的所有连接设备都拔掉,然后关闭电脑,彻底关机后长按开机键不松手保持15秒以上(这个操作本身正常不会丢失数据的,但是特别重要的数据资料可以备份一下,以防万一),然后插电源按一下......
  • 代码生成器之如何快速生成后端接口?
    前言在现代软件开发中,重复性的增删改查逻辑代码的编写往往非常耗时且容易出错。为了提高开发效率,减少手动维护的成本,代码生成器就成为了一个非常重要的工具,本文小编就将为大家介绍一下如何利用一个开源项目快速生成数据接口。实现方式环境准备技术栈:Java,Spring-Boot,MyBatisPlu......
  • C# 虚方法virtual详解
    原文链接:https://blog.csdn.net/m0_65636467/article/details/128797283C#虚方法virtual详解在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译......
  • JAVA常用类--AutoCloseable接口
    AutoCloseable接口自动关闭,释放资源机制在实际的项目开发过程中,一般都有可能连接到一些资源,比如:文件资源、网络资源、数据库资源,在实际项目之中进行资源访问的社会一般有如下几个操作步骤:不使用AutoCLoseable:手动定义关闭函数按照正常的结构设计来讲,当前的程序已经可以满足......
  • Asp .Net Web Forms 系列:配置图片防盗链的几种方法
    通过URLRewriteModule组件URLRewriteModule是一个用于在ASP.NETWebForms或其他基于IIS的Web应用程序中重写URL的强大工具。这个模块允许你将复杂的、不易于记忆或不利于搜索引擎优化的URL转换为更简洁、更友好的格式。通过URL重写,你可以提高网站的用户体验,......
  • 三菱数控采集方法
    Overview本文介绍如何使用三菱提供的开发套件,与三菱机床M70进行通信开发套件下载地址:官方地址(需要注册账号)如图,目前官方更新到了A7版本(需要购买序列号):com开发基础参考:https://www.cnblogs.com/dayw/category/512428.htmlProgID在注册表的计算机\HKEY_CLASSES_ROOT目录下......