首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java委托调用BCEL/ASM

Java委托调用BCEL/ASM
EN

Stack Overflow用户
提问于 2011-12-07 14:19:54
回答 1查看 324关注 0票数 0

大家好,大家好!

我正在寻找什么?,我一直在web上搜索和搜索,如何在类上实现/注入接口(当然是编译的),并通过类上的接口添加所需的方法。我也一直试图学习BCEL和ASM尽可能多,但我的资源不足(即使是我亲爱的朋友谷歌),所以我希望我能在这里找到帮助!我不期望你给我或任何东西,但我需要一些指导!:)我知道在ASM网站上有一本伟大的书和相当多的教程关于他们的一切,但我只是无法弄清楚,我怎么可能添加接口/方法,正如我前面说过的。,我试过什么?,我找到了这里这个链接,但是它没有像我预期的那样成功。我很清楚我想做什么,但我不知道怎样才能实现它。举个例子!

代码语言:javascript
复制
public class Cat {
 public int age;
}

public interface Animal {
 public int getAge();
}

以下是该方法的实施情况:

代码语言:javascript
复制
public int getAge(){
 return age;
}

那么,亲爱的SOF成员,这是如何解决的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-07 14:29:12

我有一些使用BCEL的经验,您想要的是从一个自定义类加载器开始,它检测您想要重新定义哪些类;对于每个这样的类,都要获得BCEL JavaClass对象(使用f.e。( ClassLoaderRepository),然后根据您的喜好修改该类。完成之后,从JavaClass获取类文件,并使用ClassLoader#defineClass将其传递给JVM以进行定义。

现在,为了实现实际的方法,我建议编写一个包含代码的测试类,然后对生成的类文件运行BCELifier,它将输出生成该类文件所需的Java源代码。检查一下,然后按你的喜好复制粘贴。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8416793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档