51,410
社区成员
发帖
与我相关
我的任务
分享
import java.lang.reflect.*;
public class DumpMethods {
private static Integer Nums(Integer j, Integer k) {
System.out.println("Nums Executed");
return j + k;
}
public static void main(String[] args) {
try {
DumpMethods dd = new DumpMethods();
invokeMethod(dd, "Nums",new Object[]{1,4});
} catch (Throwable e) {
e.printStackTrace();
System.err.println(e);
}
}
//3. 执行某对象的方法
public static Object invokeMethod(Object owner, String methodName,
Object[] args) throws Exception {
Class ownerClass = owner.getClass();
Class<?>[] argsClass = new Class[args.length];
for (int i = 0, j = args.length; i < j; i++) {
argsClass[i] = args[i].getClass();
}
Method method = ownerClass.getMethod(methodName, argsClass);
return method.invoke(owner, args);
}
}