本帖最后由 wir478 于 2011-12-5 12:49 编辑
碰到个应该是Eclipse的问题:
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class TestReflection {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
String str = "T";
Class.forName(str);
Class c = Class.forName(str);
Object o = c.newInstance();
Method[] methods = c.getMethods();
for(Method m : methods) {
System.out.println(m.getName());
}
for(Method m : methods) {
if(m.getName().equals("mm")) {
m.invoke(o);
}
}
}
}
class T {
static {
System.out.println("T loader!");
}
public T() {
System.out.println("T constructed!");
}
int i;
String s;
public void m1(int i) {
this.i = i;
}
public void mm() {
System.out.println("mm invoked");
}
public String getS() {
return s;
}
}
我在Eclipse运行这段代码的时候,老是报错:Exception in thread "main" java.lang.ClassNotFoundException: T。但是将文件内容拷贝到其它地方,用命令行窗口编译和运行都没有问题。搞了半天没找到原因,求帮助。。。。 |
|