温馨提示×

Java反射之Method的invoke方法实现

小亿
79
2024-01-02 17:15:20
栏目: 编程语言

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

0