你的代码中,我觉得你在DemoClass类前面贴的className=practice.Test18 ,这个是在test.properties中定义的内容有错,应该将DemoClass的全路径类名写进去,而不是写的practice.Test18。另外我在执行你这代码时一直发现Test18类中的最后一句有错,就是m.invoke(c);我想了想这里面不能传c应该传的是这个类名即DemoClass,就没问题了。
我可以将我写的后面的代码粘贴过来,还有运行结果,你可以看看,参考下
- Class clazz = Class.forName(prop.getProperty("className"));
- DemoClass demo = (DemoClass) clazz.newInstance();
- Method m = clazz.getMethod("run");
- m.invoke(demo);
复制代码- Class clazz = Class.forName(prop.getProperty("className"));
- DemoClass demo = (DemoClass) clazz.newInstance();
- demo.run();
复制代码
|