简单反射调用方法
import java.lang.reflect.Method;public class DynamicLoading { public static void main(String[] args) throws Exception { String s = "A"; //加载类文件 Class c = Class.forName(s); //创建对象 Object obj = c.newInstance(); //获得方法数组 Method[] methods = c.getMethods(); for(Method m:methods){ if(m.getName().equals("mm")){Class[] sarrary = new Class[]{int.class,String.class};//获得方法Method m2 = c.getDeclaredMethod("mm",sarrary); //调用方法m2.invoke(obj,1,"lkjlkj");m.invoke(obj,1,"lkjlkj");//获得参数类型for(Class paraType:m.getParameterTypes()){System.out.println(paraType.getName()+"----------para");}//获得返回值类型Class returnType = m.getReturnType();System.out.println(returnType.getName()+"------------returnType"); } } Method TT = c.getDeclaredMethod("TT"); TT.invoke(obj);}}class A {public void mm(int i,String s){System.out.println("------mm invoked-----"+i+"===="+"======"+s);}public void TT(){System.out.println("-----TT invoked");}}