0
我有一个类演示:invoke方法当该方法已经被改变
public class Demo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
在运行时我所说的方法主要:
Class cls = Class.forName(packClassName);
Method thisMethod = cls.getMethod("main", String[].class);
thisMethod.setAccessible(true);
thisMethod.invoke(cls.newInstance(), (Object)str);
它输出“你好,世界!”信息。 现在,过了一段时间,我改变了演示类的打印消息,如“Hello java”而不是“Hello World!”。并再次编译Demo类。现在我再次通过与上面相同的代码调用方法,但我无法获取更新的消息。它印刷“Hello World!” 如何打印更新的消息。请帮帮我。现在
,我刚才做了两件事: 1.实例又一新的ClassLoader实例
cls = Class.forName("anotherClassName");
- 删除类文件并重新编译
boolean success = (new File ("filename")).delete();
但仍然没有得到更新的消息......我该怎么办?
删除你的.class文件并重新编译... – Frank 2013-03-24 18:35:46
@Frank我删除了这个类,但仍然没有得到更新的输出... – 2013-03-24 19:17:18
这是运行之间的问题吗? – TacB0sS 2013-03-24 20:24:06