我无法使用反射直接在User bean类的Setter方法中设置值
我只能访问那些getter方法,但不能在User Bean Class的Setter方法中设置值。
如何通过反射在Java调用setter方法 方法逐反射在-java的
//------->This My UserClass
public class User {
private String name;
private int age;
private String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
private int getAge() {
return age;
}
private void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
//------> Then My Main Method
public static void main(String args[])
{
try {
User user = new User();
Method method = User.class.getDeclaredMethod("setName", String.class);
method.setAccessible(true);
method.invoke(user, "Some name");
System.out.println("user.getName() = " + user.getName());
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
}
我想直接调用Setter方法,并在Setter中设置值,以使更改可以反映在User Bean setter方法中。请让我知道这是可能的。
隔江千里
相关分类