# JAVA中getMethod()的问题
JAVA 反射 2019-03-29# 概述
对于经常用到Java反射机制来实现业务的时候,会用到class.getMethod()
方法:
Method Class.getMethod(String name, Class<?>... parameterTypes)
# 作用
getMethod()
方法的作用是获得指定方法名称和类型参数的公开方法。其中...
代表可变数组参数,可以直接以数组形式传递或者以多个参数依次传递。如果当前方法为非public方法,需要设置访问权限为true
。
method.setAccessible(true);
# 使用
比如在我的业务controller中定义了一个方法如下:
@ExtRequestMapping("/test")
public String test(String name,Integer age) {
System.out.println("hello world ...");
return "index";
}
# 调用
通过invoke
来调用方法
Class<? extends Object> classInfo = object.getClass();
//Method method = classInfo.getMethod(methodName); //无参数
Method method = classInfo.getDeclaredMethod(methodName,String.class,Integer.class);
Object result = method.invoke(object,"Jackie.Yang",30);