Java反射的Method类提供了invoke方法来调用方法。invoke方法的原型为: public Object invoke(Object obj, Object… args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException 其中,obj表示调用该方法的对象,args表示方法的参数。
使用invoke方法可以实现在运行时调用任意对象的方法。下面是一个示例代码:
import java.lang.reflect.Method;
public class ReflectDemo {
public static void main(String[] args) {
try {
// 获取String类的toUpperCase方法
Method method = String.class.getMethod("toUpperCase");
// 调用toUpperCase方法
String str = "hello";
Object result = method.invoke(str);
System.out.println(result); // 输出HELLO
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的示例中,首先使用getMethod方法获取String类的toUpperCase方法。然后使用invoke方法调用toUpperCase方法,并传入一个字符串对象作为参数。最后输出调用结果。