阅读量:2
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方法,并传入一个字符串对象作为参数。最后输出调用结果。