我一直在尝试在网络上搜索指南/帮助,以通过在 ASM 中将字节码类转换为的接口访问字节码类。我已经在名为 powerbot (RSBot) 的 RuneScape 机器人上看到了这一点,我也从https://github.com/powerbot/RSBot获得了源代码但我无法理解它是如何完成的,因为当我将一个类转换为包含每个方法的“骨架”的接口时,我得到了类转换异常。我知道认为你可以将一个类转换为接口一定是愚蠢的。我知道必须有一些准备工作,但在 ASM 书籍/电子书 (http://download.forge.objectweb.org/asm/asm-guide.pdf) 中,就我所阅读的而言,没有任何关于它的内容。我对此真的很感兴趣,不是要制作一个新的 RS 机器人,而是要学习这个很酷的库来替换我需要的 BCEL。我会给你一个简单的例子来更好地理解这个问题!
在这里,我有一个名为“helloSO”的课程
public class helloSO {
public void doSomething(){
System.out.println("I did something! :D");
}
}
在这里我也有名为“helloSO”的界面
public interface helloSO {
public void doSomething();
}
我希望能够将我读取和定义的 .class 转换为使用 ASM 的类到该接口,以便能够使用它们的名称从该实例调用方法。我希望我能很好地解释这一点。如果你愿意,你可以检查 RSBot 以更好地了解我的意思。:) 所以我要问的是;我必须做哪些准备工作以及在哪里可以了解这些准备工作?我不是要您为我创建类适配器或任何建议和帮助:) 提前致谢!