反射方法:
public static void main(String[] args) throws Exception {
? ? ?File file=new File("D:/classtest");//類路徑(包文件上一層) ?
? ? ? ?URL url=file.toURI().toURL(); ?
? ? ? ?ClassLoader loader=new URLClassLoader(new URL[]{url});//創建類加載器 ??
?
? ? Class<?> cls=loader.loadClass("com.pactera.util.updatetest");//加載指定類,注意一定要帶上類的包名 ?
? ? ? ?Object obj=cls.newInstance();//初始化一個實例 ?
? ? ? ?Method method=cls.getMethod("test",String.class,String.class);//方法名和對應的參數類型 ?
? ? ? ?Object o=method.invoke(obj,"chen","leixing");//調用得到的上邊的方法method ?
? ? ? ?System.out.println(String.valueOf(o));//輸出"chenleixing" ?
}
被調用的類:
package com.pactera.util;
public class updatetest {
? public String test(String xingming,String lexing)
? {
return "sysout:"+xingming+lexing;
? }
}