iteye_17041 2013-05-17 16:09
浏览 412
已采纳

如果不修改源码的情况下给该类添加方法

我有一个jar文件,里面是一些工具类,但是,比如有一个StringUtil类,做一些字符串的操作,但是这个jar里面没有我想要的方法。我怎么不修改源码的情况下,给StringUtil新增方法。使用什么设计模式?

  • 写回答

3条回答 默认 最新

  • beowulf2005 2013-05-17 17:03
    关注

    看你需求,
    如果在运行时需要植入方法,
    那用 asm或javassist 在加载类时改字节码,需要自己实现classloader,
    并自己从程序上确保该类被这个classloader载入。
    或者在JVM启动时,同时启动agent或javaagent,用它来监控类的装载。
    orale的JVM启动之后,可以用工具(jdk自带)来attach javaagent 到运行中的JVM并使之运行,可以在这个javaagent里扫描所有加载类并监控后以后加载的类并改之。

    如果在编译时需要,
    那就还不如干脆继承该类,并添加自己的方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘