变更接口形参,但是不想影响接口调用者怎么办?

例如接口:public void test(String s1){},该接口有多个生产者即调用者。
因为其中一个生产者需求变动,调用test方法的时候需要新增一个参数。这种情况下如果直接修改test方法增加参数,需要修改所有的调用者代码,比较麻烦而且风险大。

解决方法: 新写一个test的重载方法
public void test(String s, String addParam){}

如果是所在class实现某接口,则需要在两个方法上加@override

public Class AA Implemet BB{
@override
public void test(String s1){}@override
public void test(String s, String addParam){}
}

override的好处可以适配多种消费者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/739290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下目录切换快捷指令

cd - "cd -" 是一个命令行中的快捷方式,用于返回上一个工作目录。通常,当你在命令行中使用 cd 命令切换目录时,系统会记住你之前所在的目录。通过输入 cd -,你可以返回到上一个目录,而不必输入完整的路径。…

如何使用 Langchain、Ollama 和 Streamlit 构建 RAG

一、先决条件:您需要了解什么 在深入讨论技术细节之前,我们先概述一下先决条件。Python 的基础知识至关重要,因为它是我们将使用的主要语言。熟悉机器学习和自然语言处理的基本概念将帮助您更轻松地掌握这些概念。此外,对 Langch…

蓝桥杯练习系统(算法训练)ALGO-973 唯一的傻子

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 腿铮找2255有点事,但2255太丑了,所以腿铮不知道他的长相。正愁不知道到如何找他的时候,…

TCP通信程序

#发端 #include "head.h"int main(void) { int sockfd 0;ssize_t nsize 0;struct sockaddr_in recvaddr;char tmpbuff[1024];int ret 0;int fd 0; int nret 0;sockfd socket(AF_INET,SOCK_STREAM,0); /* 流式套接字 */if(-1sockfd){perror("fail to socke…

【开发环境】Ubuntu 18.04 搭建 QT编译环境详细步骤 【亲测有效】

目录 1 查看Ubuntu系统中Qt版本 2 下载Ubuntu系统Qt版本安装包 3 Qt安装 3.1 Qt 安装步骤 3.2 安装qt发现Ubuntu空间不足,怎么去扩容呢? 3.2.1 硬盘操作步骤(需要关闭虚拟机进行操作) 3.2.2 Ubuntu命令操作:安装…

云计算项目七:jump-server安装部署

jump-server安装部署 配置清单 jumpserver概述 Jumpserver是一款开源的堡垒机,可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大部分操作系统,是一款非常安全的远程连接工具 常见支持的系统 CentOS, RedHat, …

基于springboot实现酒店客房管理系统项目【项目源码+论文说明】

基于springboot实现酒店客房管理平台系统演示 摘 要 随着人们的物质水平的提高,旅游业和酒店业发展的速度越来越快。近年来,市面上酒店的数量和规模都在不断增加,如何提高酒店的管理效率和服务质量成为了一个重要的问题。伴随着信息技术的发…

内网渗透-跨域环境渗透-1

目录 smbclient工具 mimikatz工具 Kerbers协议 NTLM认证 hash传递攻击(PTH攻击) 黄金票据攻击 白银票据 MS14-068 smbclient工具 在linux里面连接远程windows共享目录,可以使用这个工具 ​ 第一种连接方式:smbclient -L 目…

HarmonyOS 非线性容器特性及使用场景

非线性容器实现能快速查找的数据结构,其底层通过 hash 或者红黑树实现,包括 HashMap、HashSet、TreeMap、TreeSet、LightWeightMap、LightWeightSet、PlainArray 七种。非线性容器中的 key 及 value 的类型均满足 ECMA 标准。 HashMap HashMap 可用来存…

牛客网KY19 今年的第几天?

题目 描述&#xff1a; 输入年、月、日&#xff0c;计算该天是本年的第几天。 输入描述&#xff1a; 包括三个整数年(1<Y<3000)、月(1<M<12)、日(1<D<31)。 输出描述&#xff1a; 输入可能有多组测试数据&#xff0c;对于每一组测试数据&#xff0c; 输出一个…

JWT概述

JSON Web Token&#xff08;缩写 JWT&#xff09;是目前最流行的跨域认证解决方案&#xff0c;本文介绍它的原理和用法。 一、跨域认证的问题 互联网服务离不开用户认证。一般流程是下面这样。 1、用户向服务器发送用户名和密码。 2、服务器验证通过后&#xff0c;在当前对话…

学习Java的第八天

本节我们重点研究对象和类的概念。 对象&#xff08;Object&#xff09;是一个应用系统中的用来描述客观事物的实体&#xff0c;是有特定属性和行为&#xff08;方法&#xff09;的基本运行单位。是类的一个特殊状态下的实例。对象可以是一个实体、一个名词、一个可以想象为有…

记事小本本

记事小本本 实现效果 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</titl…

Qt Creator常见问题解决方法

Qt Creator源文件重命名的正确方法 光改文件名是不够的&#xff0c;还要在.pro文件中的SOURCES中把名字改成之后的。 中文乱码&#xff08;字符集设置&#xff09; 菜单栏-工具-选项-设置为utf-8

MongoDB性能最佳实践:硬件和操作系统配置

欢迎阅读有关MongoDB性能最佳实践的系列博文。在往期文章中&#xff0c;我们已经讨论过查询模式和性能分析、事务和读/写关注等实现大规模性能的关键考虑因素。在本篇文章中&#xff0c;我们将讨论硬件和操作系统配置。 如果您在阿里云上部署MongoDB&#xff0c;那么阿里云会为…

移动端tabBar的固定问题

tabBar原本是 position: fixed的布局&#xff0c;会导致元素脱标&#xff0c;不占位&#xff0c;上面的内容就会被覆盖 .layout {height: 100%;display: flex;flex-direction: column;.main{flex: 1;overflow: hidden; // 隐藏二级路由中超出main高度的内容}.van-tabbar {posi…

运维自动化之ansible

pxe 一键安装操作系统 操作系统只是提供一个平台 lnmp 需要多软件协同完成的一个简单项目 服务器正常运行 日常运维 巡检 服务器上的软件正常运行 zabbix 普罗米修斯 系统调优&#xff0c;架构调优 云计算核心职能 搭建平台架构 日常运营保障 性能效率优化 相关工具 代…

lucky-canvas实现老虎机、九宫格和大转盘抽奖

lucky-canvas是一款开源免费的基于 jscanvas 的前端插件&#xff0c;UI精美&#xff0c;功能强大&#xff0c;使用起来比较方便。 lucky-canvas官网https://100px.net/ 一、使用 注意&#xff1a;下例是vue中的应用&#xff0c;具体还有js和uniapp中的应用&#xff0c;详细查…

【二分算法】分巧克力

儿童节那天有 K 位小朋友到小明家做客。 小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 N 块巧克力&#xff0c;其中第 i 块是 HW的方格组成的长方形。 为了公平起见&#xff0c;小明需要从这 N 块巧克力中切出 K块巧克力分给小朋友们。 切出的巧克力需要满足&#xff…

部署zabbix6.0.27 执行 make install 报错

CentOS7 部署 zabbix6.0.27 执行 make install 报错 报错信息 [rootlocalhost zabbix-6.0.27]# make install /usr/bin/ld: warning: libssl.so.3, needed by /usr/local/mysql/lib/libmysqlclient.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: l…