ReflectionUtils动态调用方法
时间: 2023-08-23 21:05:08 浏览: 55
下面是一个使用ReflectionUtils动态调用对象方法的例子:
```java
public class User {
private String name;
private int age;
public void sayHello() {
System.out.println("Hello, my name is " + name + ", I'm " + age + " years old.");
}
// 省略getter和setter方法
}
public class Main {
public static void main(String[] args) {
User user = new User();
user.setName("Alice");
user.setAge(20);
Method method = ReflectionUtils.findMethod(User.class, "sayHello");
ReflectionUtils.makeAccessible(method);
ReflectionUtils.invokeMethod(method, user);
}
}
```
上述代码中,我们首先创建了一个User对象,并设置了其name和age属性的值。然后,我们使用ReflectionUtils的findMethod方法获取了User类中名为"sayHello"的方法对象,并使用makeAccessible方法将其设置为可访问。最后,我们使用invokeMethod方法调用了user对象的sayHello方法。在sayHello方法中,我们通过获取name和age属性的值并输出来实现了动态调用方法的功能。