0 0

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

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

3个答案 按时间排序 按投票排序

0 0

采纳的答案

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

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

2013年5月17日 17:03
0 0

使用asm在运行时修改java的class,具体说明参考:http://www.oschina.net/p/asm/

2013年5月17日 16:35
0 0

如果有访问权限可以自己定义一个类继承这个StringUtil,然后再写自己的方法

2013年5月17日 16:23

相关推荐

    c#发送邮件类方法源码

    这使得用户可以在不修改代码的情况下轻松更换SMTP服务器。 ##### sendMail(MailMessage mm, string host) 这是实际发送邮件的核心方法。它创建了一个`SmtpClient`对象,并指定了SMTP服务器的地址及端口号(默认为...

    Android修改系统时间资料源码打包

    因此,只有在必要的情况下,才应使用这种方式修改时间。同时,这种操作也可能被恶意应用利用,所以必须谨慎处理。 7. **测试和调试**: 在开发过程中,我们可以通过模拟器或具有root权限的设备进行测试。对于非...

    分类信息源码 源码下载

    【标题】"分类信息源码 源码下载"指的是一个用于构建分类信息网站的源代码包,这类源码通常包含一系列的ASP文件,用于处理用户交互、数据管理和页面展示等功能。分类信息网站允许用户发布和查找各种类型的分类广告,...

    服装行业类网站源码.rar

    该程序基于ASP ACCESS环境开发, 拥有完善的网站前台和后台全智能化管理功能,完全由后台操作(如添加、修改网站基本信息、产品、企业新闻动态等), 是五金企业智能化网站建设首选! 安全建议 为确保您的网站安全...

    m2mqtt源码,可以根据自己需要修改

    如果需要,可以修改源码以增强错误处理,比如增加更详细的日志记录,或者设置自定义的重连策略。 标签“软件/插件”表明m2mqtt可以作为一个独立的库或者集成到其他软件项目中。在实际应用中,你可以将m2mqtt作为...

    一个加区段源码,错误率几乎没有

    对于希望在项目中实现高效数值计算的开发者来说,通过学习和修改这个“几乎无错误”的加区段源码,不仅可以获得一个强大的计算模块,还可以深入理解如何处理大规模的数值范围运算,以及如何构建高可靠性的软件系统。...

    1153设计类网站源码 php+mysql源码

    这些模块通常经过精心设计,以便开发者可以根据需求进行二次开发,添加或修改功能,快速构建出符合设计行业特点的网站。 “www.ymjd.com”的标签可能指的是该源码的来源或曾经的应用实例,这个域名可能是某个使用此...

    批量修改文件名(附加C#源码)

    2. 定义一个方法,接收目录路径作为参数,遍历该目录下的所有文件: ```csharp public static void BatchRenameFiles(string directoryPath) { // 获取目录下的所有文件 string[] files = Directory.GetFiles...

    批量修改文件后缀-示例 带源码

    核心的编程逻辑通常会使用`System.IO`命名空间下的类,如`DirectoryInfo`和`FileInfo`,遍历选定目录中的所有文件,并通过改变`FileInfo`对象的`Extension`属性来更改文件后缀。 以下是一个简化的代码示例: ```...

    C#修改网卡MAC地址的源码,可以随机生成地址

    7. **应用扩展**:虽然这个源码是为了修改单个MAC地址,但稍加修改,可以扩展为一键更换多个网卡的MAC地址,或者添加用户友好的图形界面,使普通用户也能方便地使用。 8. **安全与合法性**:修改MAC地址在某些情况...

    精选_Ring0内核层下修改或添加键值_源码打包

    在IT领域,尤其是在操作系统开发和安全研究中,"Ring0内核层下修改或添加键值"是一个关键的技术概念。这里的“Ring0”指的是操作系统的最底层,即系统核心层,它拥有最高的权限,能够直接访问硬件资源和控制其他所有...

    mp3及wma文件名修改工具源码

    在实际使用中,如果存在相同歌名但不同版本的歌曲,可能会导致重命名冲突,因此用户需要在使用前确保文件名的唯一性,或者自行修改源码以添加重复检查和处理功能。 项目的工程文件包括.U_Option.ddp、.U_Main.ddp等...

    分类信息源码,完整分类信息源码,多城市分类信息源码

    分类信息源码是一种用于构建在线分类广告平台的软件代码,它允许用户在多个类别下发布、搜索和互动处理各种信息,如二手商品交易、房屋租赁、求职招聘等。这类源码通常包含前端用户界面和后端管理系统,以及数据库...

    垃圾分类查询管理系统源码

    《垃圾分类查询管理系统源码详解及应用》 在信息化飞速发展的今天,环保意识的提升使得垃圾分类成为了社会关注的焦点。为了更好地推广垃圾分类,提高管理效率,一款名为“垃圾分类查询管理系统”的源码应运而生。该...

    APPe4a源码,各类盒子源码

    首先,"后台在线更新"意味着源码支持通过后台管理系统进行内容的动态更新,比如添加新的影视资源、修改设置等,无需重新编译或发布整个应用。其次,"生卡密"功能可能指的是生成和管理会员卡密,这在许多付费视频服务...

    java源码修改教程-本地maven仓库中的三方jar包修改

    在日常开发过程中,我们可能会遇到这样的情况:第三方库的功能无法完全满足需求或者存在一些小bug,这时如果直接修改第三方库的源码,可能会带来便利。本文将详细介绍如何在本地Maven仓库中修改三方jar包的源码,...

    Java源码解析——看优秀源码最能使人进步

    java.util.ArrayList类是Java语言中的一种集合类,该类的定义、字段属性、构造函数、添加元素、删除元素、修改元素、查找元素、遍历集合、SubList、size方法、isEmpty方法、trimToSize方法等都会被详细解析。...

    最好的分类信息网站源码

    同时,“自己拿去改下就可以”意味着源码具有一定的可定制性,适合开发者根据需求进行修改。 【标签】:“分类信息 地方门户” “分类信息”标签表明该源码专注于提供分类信息服务,如上述提到的生活服务、二手...

    改变EXE的图标的软件源码

    标题中的“改变EXE的图标的软件源码”是指一种编程技术,允许开发者更改可执行文件(EXE)的图标,以个性化程序外观或与品牌形象保持...同时,这也是一种实用的技巧,可以在不重新编译整个程序的情况下更新程序图标。

    C# ListView中添加多种自定义控件源码

    然而,ListView控件的标准功能有时不能满足所有需求,这时我们可能需要对其进行自定义,添加额外的交互元素,如CheckBox或ComboBox。本文将深入探讨如何在C#的ListView中添加多种自定义控件,以增强用户界面的功能和...

Global site tag (gtag.js) - Google Analytics