Java运行时动态加载类之ClassLoader方法带参数
生活随笔
收集整理的这篇文章主要介绍了
Java运行时动态加载类之ClassLoader方法带参数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
和该文环境一样http://blog.csdn.net/fjssharpsword/article/details/64922083
不同的是,在load出的class调用具体方法时传递参数。
1、User.class代码
package cn.fjs;public class User {public void say(String name){System.out.println(name);}}2、DynamicClassLoaderTest代码 package cn.fjs;import java.util.List; import java.util.Map; import cn.fjs.DynamicClassLoader; import cn.fjs.DynamicDom;public class DynamicClassLoaderTest {public static void main(String[] args) {DynamicDom dmo = new DynamicDom();//xml文件解析类Map<String, List<String>> classes;//重载ClassLoader类DynamicClassLoader loader = new DynamicClassLoader(new String[]{"D:\\tmp\\"}); try {classes = dmo.getMethods("D:\\tmp\\a.xml");for(String key:classes.keySet()){ for(String clazz : classes.get(key)){ Class<?> c =loader.findClass(key);//类名字//c.getMethod(clazz).invoke(c.newInstance());//方法名字c.getMethod(clazz,String.class).invoke(c.newInstance(),"fjs");//带参数}} }catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}} }
总结
以上是生活随笔为你收集整理的Java运行时动态加载类之ClassLoader方法带参数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java运行时动态加载类之ClassLo
- 下一篇: Java运行时动态加载类之ClassLo