如何覆盖jar包里面的方法

4 篇文章 0 订阅
起始要覆盖一个jar包里面的方法很简单,先看下面三张图


        这里解释一下:第一张图是没覆盖jar包方法之前的输出,正常输出了一个对象转换成json字符串的结果,第二张图是我覆盖了JSON.toJSON()这个方法之后的输出。

        其实要完全覆盖一个Jar包的方法很简单,第一步你需要在你的src目录下新建一个同包名同类名的类(有点拗口,哈哈),第二步你想修改那个方法就改那天,最后编译输出的时候会优先使用你src下面的JSON类,而不是优先使用Jar包里面的JSON类,这样就达到了覆盖jar包方法了。

        再说一点,你自己新建出来的类,起始同包同类名还不行,还需要那个类里面的方法必须和jar包的全部一致,不能缺少方法,不然你想想,你写了一个JSON只有一个方法,人家jar包里面的可能几十个方法,jar包里面也互相调用了JSON这个对象缺少了方法肯定是有问题的最好的办法就是完全复制一个过去再修改。

        这样做有什么好处呢,假如你下载了一个开源的jar包,发现里面有一个方法写得很烂,怎么办?等作者更新?继承?当然也可以,但是你发现的写得很烂的方法是一个private怎么办?这个时候整个类都覆盖掉,爱怎么改就怎么改了。好处不用我再多说了吧。觉得有用就点个赞呗,呵呵。

        当前,上面说得这么多有一个前提就是,这个jar包的源码你得有,不然也谈不上优化了,对不对。


参考:http://tieba.baidu.com/p/4507553753


  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值