方法的重写和覆盖

场景

代码中某个类被封装到依赖的jar包里面了。 现在需要改逻辑,怎办呢?

解决方案

首先要弄清概念,重写(override)就是覆盖 。 不要和重载混淆了。
重写:方法名和参数必须完全相同。
重载: 同方法名,不同参。

方法不只一种

同路径,同名类 覆盖掉原类

自己写的类优先级高于jar包中的类。 所以可以覆盖掉,然后修改对应的逻辑即可。
这种用的比较多,没有冗余。

tips:
创建包名的时候,可以 一下创建的,不要一级一级创建额。
例如:
包名为 com.example.service.impl
类名为UserServiceImpl
直接拼接为 com.example.service.impl.UserServiceImpl,然后src下新建java类,复制进去即可。千万别一级一级的创建,不但麻烦,而且容易错

重新写个接口和impl,复用逻辑,替换掉调用处即可

覆盖的方法,抄包名,类名还是挺麻烦的。 如果只有一个地方用到。那么新建个接口,贴过来逻辑,修改下即可。 然后改下调用位置。
这种看着复杂,其实做起来很快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值