java怎么执行invoke方法

66次阅读
没有评论

共计 926 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中,可以使用反射机制来执行 invoke 方法。具体步骤如下:

  1. 获取要执行的方法对象。可以使用 Class 类的 getMethodgetDeclaredMethod方法来获取指定方法的 Method 对象。
  2. 设置要执行方法的可访问性。如果要执行的方法是私有方法,需要使用 setAccessible(true) 方法将其设置为可访问。
  3. 使用 invoke 方法来执行目标方法。invoke方法的第一个参数是方法所属的对象(如果是静态方法,则可以为null),后面的参数是方法的参数列表。

下面是一个示例代码:

import java.lang.reflect.Method;

public class Main {public static void main(String[] args) throws Exception {// 获取目标类的 Class 对象
        Class<?> clazz = TargetClass.class;

        // 获取目标方法的 Method 对象
        Method method = clazz.getMethod("methodName", int.class, String.class);

        // 设置目标方法的可访问性
        method.setAccessible(true);

        // 创建目标类的实例对象
        TargetClass target = new TargetClass();

        // 执行目标方法
        Object result = method.invoke(target, 123, "hello");

        // 输出执行结果
        System.out.println("Result: " + result);
    }
}

class TargetClass {public void methodName(int num, String str) {System.out.println("Method executed: " + num + ", " + str);
    }
}

在上面的示例中,TargetClass是一个包含了一个名为 methodName 的方法的类。首先使用 getMethod 方法获取到该方法的 Method 对象,然后使用 setAccessible(true) 方法将其设置为可访问。接下来,使用 invoke 方法执行目标方法,并输出执行结果。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-09发表,共计926字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)