共计 825 个字符,预计需要花费 3 分钟才能阅读完成。
使用 Java 反射执行带参数的方法,需要通过 Method 类的 invoke() 方法来实现。invoke() 方法接收两个参数:需要执行的对象和方法的参数列表。
下面是一个示例代码:
import java.lang.reflect.Method;
public class ReflectExample {public void printMessage(String message) {System.out.println(message);
}
public static void main(String[] args) throws Exception {
// 获取 ReflectExample 类的 Class 对象
Class cls = ReflectExample.class;
// 创建 ReflectExample 对象
Object obj = cls.getDeclaredConstructor().newInstance();
// 获取 printMessage 方法
Method method = cls.getDeclaredMethod("printMessage", String.class);
// 执行方法
method.invoke(obj, "Hello, World!");
}
}
在上述示例中,首先获取 ReflectExample 类的 Class 对象,然后使用 Class 对象创建 ReflectExample 对象。接下来,通过 Class 对象获取 printMessage 方法,并指定方法的参数类型为 String。最后,使用 invoke() 方法执行 printMessage 方法,并传入对应的参数值。
需要注意的是,如果被调用的方法是非静态方法,那么 invoke() 方法的第一个参数必须是实际对象的引用;如果被调用的方法是静态方法,那么可以将第一个参数设置为 null。
另外,需要处理异常,因为在反射调用方法时可能会抛出异常,所以需要使用 try-catch 或者在方法签名上抛出异常。
丸趣 TV 网 – 提供最优质的资源集合!
正文完