Java 动态加载class 并反射调用方法

反射方法:

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;
  }
}

你可能感兴趣的:(Java 动态加载class 并反射调用方法)