在工作中有时候一些业务场景,已封装的jar包里面的部分方法无法满足,这时候就需要我们将这部分方法进行重写已来满足业务需要。
两种方法:
第一种
重写步骤:
1.找到你所要重写的方法的所在类,查看其中的路径;
2.在我们的src目录下新建一个同包名同类名的类;
3.将jar包中的重写方法所在类的所有代码复制到我们新建的同包名同类名的类中;
4.在我们新建的同包名同类名的类中修改对应的方法中的代码,注意要保持方法中的参数不要发生改变,
也不要删除原类中已有的方法,但是可以新增一些方法。
原理:
编译输出的时候会优先使用我们src下面的类,而不是优先使用Jar包里面的类,这样就达到了覆盖jar包方法的目的。
注-如果遇到重写后方法没有生效,原因有以下两点:
1.检查重新的包路劲是否和源码中的路径一致,可以点到源码看是否有对应的重新方法。
2.如果是maven项目直接放到java目录下面即可,如果是WebContent项目可直接放到src下。
第二种
在不影响项目目录结构的情况下可以使用这种方式:
1.找到你所要重写的方法的所在类,查看其中的路径;
2.在我们的src目录下新建一个同包名同类名的类;
3.将jar包中的重写方法所在类的所有代码复制到我们新建的同包名同类名的类中;
4.在我们新建的同包名同类名的类中修改对应的方法中的代码,注意要保持方法中的参数不要发生改变,
也不要删除原类中已有的方法,但是可以新增一些方法。
5、将同包名同类名的类重写好,将.java文件编译成.class文件。
6、桌面新建一个文件夹,将编译好的.class文件存进去。
7、打开jar包所在的文件目录
6、使用压缩软件预览jar包中的class文件
7、将 jar 包中需要替换的类删除(jar中的原文件),把自己编译好的.class文件复制进去。
8、替换
9、删除在我们的src目录下新建的包、类。