大家好,大家好!
我正在寻找什么?,我一直在web上搜索和搜索,如何在类上实现/注入接口(当然是编译的),并通过类上的接口添加所需的方法。我也一直试图学习BCEL和ASM尽可能多,但我的资源不足(即使是我亲爱的朋友谷歌),所以我希望我能在这里找到帮助!我不期望你给我或任何东西,但我需要一些指导!:)我知道在ASM网站上有一本伟大的书和相当多的教程关于他们的一切,但我只是无法弄清楚,我怎么可能添加接口/方法,正如我前面说过的。,我试过什么?,我找到了这里这个链接,但是它没有像我预期的那样成功。我很清楚我想做什么,但我不知道怎样才能实现它。举个例子!
public class Cat {
public int age;
}
public interface Animal {
public int getAge();
}以下是该方法的实施情况:
public int getAge(){
return age;
}那么,亲爱的SOF成员,这是如何解决的呢?
发布于 2011-12-07 14:29:12
我有一些使用BCEL的经验,您想要的是从一个自定义类加载器开始,它检测您想要重新定义哪些类;对于每个这样的类,都要获得BCEL JavaClass对象(使用f.e。( ClassLoaderRepository),然后根据您的喜好修改该类。完成之后,从JavaClass获取类文件,并使用ClassLoader#defineClass将其传递给JVM以进行定义。
现在,为了实现实际的方法,我建议编写一个包含代码的测试类,然后对生成的类文件运行BCELifier,它将输出生成该类文件所需的Java源代码。检查一下,然后按你的喜好复制粘贴。
https://stackoverflow.com/questions/8416793
复制相似问题