如何通过在java中使用反射直接在bean类的私有Setter方法中设置值

圣贾斯瓦尔

我无法使用反射直接在我的 User bean 类的 Setter 方法中设置值

我只能访问那些 getter 方法,但我不能在 User Bean Class 的 Setter 方法中设置值。

java -如何在java method-by-reflection-in-java中通过反射调用setter方法

 //------->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 方法中。请让我知道这是可能的。

拥有字节

这是因为您的 setName() 方法设置为私有。在该类本身之外,您不能访问该类的任何私有方法。

改成..

public void setName(String name) {
    this.name = name;
}

你会很高兴去的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Java中通过反射访问父类的父类的私有字段?

如何通过java反射为setter方法设置变量

java中如何通过反射调用setter方法

如何启用朋友类的朋友功能直接在C ++中访问其私有成员

如何使用反射(Java)调用私有静态方法?

如何通过函数在类中使用私有变量(在任何类中均不如此)?

使用反射为私有成员设置新值

java - 如何使类只能扩展而不能直接在java中使用?

如何在JAVA中使用静态类访问私有内部类的私有参数化方法

如何在VBA的类中使用私有方法?

如何通过Java中的反射获取方法参数的值?

通过反射访问Java中的私有变量

在Java中通过反射获取私有字段

通过Java中的反射访问私有继承的字段

如何使用反射在静态类中找到私有静态方法?

用反射设置私有字段值

有多个java bean类时如何设置值

如何使用 setter 将值设置为私有数组的属性?

为什么使用getter方法时,我们可以直接使用setter方法来访问私有变量在Java中?

通过反射将值设置为Java类?

如何通过反射C#在setter中调用方法

如何使用 JUnit 中的公共方法测试私有字段是否设置为提供的值?

我们如何直接在类构造函数中使用 json.dumps,而不是通过单独的函数调用它?

如何通过setter方法修改私有静态变量

如何直接在Swift中直接将json值设置为模型类

如何通过反射访问私有方法和私有数据成员?

如何在Java中使用私有方法

如何使用反射调用私有方法?

如何使用反射访问私有方法?