Java

java的invoke方法怎么使用

小亿
144
2023-10-23 18:54:55
栏目: 编程语言

在Java中,invoke方法用于调用一个方法或构造函数。

invoke方法有两种使用方式:

  1. 对于普通方法的调用:

    Object invoke(Object obj, Object... args)
    
    • obj是要调用方法的对象,如果方法是静态的,则传入null。
    • args是方法的参数列表。

    示例:

    // 定义一个类
    class MyClass {
        public void myMethod(String str) {
            System.out.println("Hello, " + str);
        }
    }
    
    // 创建一个对象
    MyClass obj = new MyClass();
    
    // 调用myMethod方法
    obj.getClass().getMethod("myMethod", String.class).invoke(obj, "World");
    
  2. 对于静态方法的调用:

    Object invoke(Object obj, Object... args)
    
    • obj是要调用方法的类对象,即类的Class对象。
    • args是方法的参数列表。

    示例:

    // 定义一个类
    class MyClass {
        public static void staticMethod(String str) {
            System.out.println("Hello, " + str);
        }
    }
    
    // 调用staticMethod方法
    MyClass.class.getMethod("staticMethod", String.class).invoke(null, "World");
    

需要注意的是,invoke方法返回的是被调用方法的返回值,如果被调用方法是void类型,则返回null

0
看了该问题的人还看了