大家好!
我在找什么?我一直在搜索和搜索网络,我如何实现/注入类接口(当然已经编译),并通过类上的接口添加所需的方法。我也一直在努力学习BCEL和ASM尽可能多,但我的资源很低(即使是我亲爱的朋友谷歌),所以我希望我能在这里找到帮助!我不指望你对我指手画脚,但我需要一些指导!:)我知道ASM网站上有一本很棒的书,有很多关于它们的教程,但我就是不知道我怎么可能像我之前说的那样添加接口/方法。我尝试了什么?我在这里找到了这个链接,但它没有像我预期的那样工作。我很清楚我想做什么,但我不知道如何才能实现它。这是例子!
public class Cat {
public int age;
}
public interface Animal {
public int getAge();
}
这里是该方法的实现:
public int getAge(){
return age;
}
亲爱的SOF成员,这将如何解决? 我有一些BCEL的经验,你想要的是从一个自定义类加载器开始,检测你想要重新定义的类;对于每个这样的类,获取BCEL JavaClass对象(使用ClassLoaderRepository),然后根据自己的喜好修改该类。完成后,从JavaClass中获取类文件,并使用ClassLoader#defineClass将其传递给JVM进行定义。
现在,为了实现实际的方法,我建议编写一个包含您的代码的测试类,然后在结果类文件上运行BCELifier,它将打印出生成该类文件所需的Java BCEL源代码。检查它并复制粘贴到您喜欢的