方法的重写和覆盖

场景

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

解决方案

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

方法不只一种

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

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

创建包名的时候,可以 一下创建的,不要一级一级创建额。
例如包名为 com.example.service.impl
到java目录下,创建package,直接复制一串即可。

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章