在程序运行过程中使用Class.forName("A")动态生成了一个名为A的类,我想替换A内的实现重写了A。将其放置于类路径下,希望再次执行到Class.forName("A")时,使用新的实现类A。可是在第一次Class.forName("A")后,A的类对象已经加载到
某个地方,第二次Class.forName("A")时,并没有去类路径下搜索,而是取第一次保存下来的类对象。请问有没有办法实现
每次获取类对象时,都到类路径下查找而不用使用已加载的。
某个地方,第二次Class.forName("A")时,并没有去类路径下搜索,而是取第一次保存下来的类对象。请问有没有办法实现
每次获取类对象时,都到类路径下查找而不用使用已加载的。
A a = new A() {
public void method() {
}
}
大家有兴趣可以看看这个http://blog.chinaunix.net/u2/84562/showart_1714647.html
替换的是编译过的.class文件,不是.java文件
Class c = Class.forName("A的类路径");
A a = (A)c.newInstance();