天天看点

java 动态调用类的方法

Java动态调用方法,主要用到java反射机制,Class和Method这些类。

//被调用的方法名
String methodName="testmethod";
//用于传递参数的class数组。
Class[] cargs = new Class[1];
cargs[0]=mId.getClass();
//testService.getClass():得到testService的class对象。
Method method = testService.getClass().getMethod(methodName,cargs );
Object[] inArgs = new Object[1];
inArgs[0]=mId;
//invoke(testService,new Object[]{})调用方法,第一个参数是要调用这个方法的对象,如果方法是static的,这个参数可以为null 。
method.invoke(testService, inArgs);