如何通过反射调用类中的setter、getter方法,操作类中的属性
时间: 2024-02-13 09:00:32 浏览: 136
通过反射调用类中的setter、getter方法,可以使用Java中的Method类。Method类提供了invoke方法,可以动态调用类中的方法。具体操作步骤如下:
1. 获取类中的setter、getter方法,可以通过Class类中的getDeclaredMethod方法或getMethod方法实现。
2. 调用Method类中的invoke方法,可以动态调用类中的setter、getter方法。
下面是一个示例代码:
```java
public class ReflectTest {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public static void main(String[] args) throws Exception {
ReflectTest test = new ReflectTest();
Class clazz = test.getClass();
Method setNameMethod = clazz.getDeclaredMethod("setName", String.class);
Method getNameMethod = clazz.getDeclaredMethod("getName");
setNameMethod.invoke(test, "Tom");
System.out.println(getNameMethod.invoke(test));
}
}
```
以上代码中,首先获取ReflectTest类的Class对象,然后通过getDeclaredMethod方法获取setName和getName方法的Method对象,接着使用invoke方法调用setName方法,设置name属性的值为"Tom",最后使用invoke方法调用getName方法,获取name属性的值并打印出来。
阅读全文
相关推荐
















