话不多说,上代码
try {
URL[]urls = new URL[]{new URL("file:/"+"c:/user/")};
URLClassLoader loader = new URLClassLoader(urls);
Class c = loader.loadClass("HelloWorld");// 动态读取这个类
//调用加载类的main 方法
Method m = c.getMethod("main", String[].class);
m.invoke(null, (Object)new String[]{"aa","bb"});
//由于可变参数是jdk5.0之后才有的 上面代码会编译成:m.invoke(null,"aa","bb"),就发生了参数个数不匹配的问题。
//因为,必须要加上(Object)转型。避免这个问题
//public static void mmm(String[] a,String[]b);
//public static void main(String[] args);
} catch (Exception e) {
e.printStackTrace();
}