首先先创建一个User
- private String name;
- private Integer age;
- private Double height;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Integer getAge() {
- return age;
- }
- public void setAge(Integer age) {
- this.age = age;
- }
- public Double getHeight() {
- return height;
- }
- public void setHeight(Double height) {
- this.height = height;
- }
假设现在获取name这个属性,并同时给这个User取名为张三
- public static void main(String[] args) {
- User user1 = new User();
- try {
- Field field = User.class.getDeclaredField("name");
- //setAccessible这行代码把对象上的name字段设置为public访问属性.
- field.setAccessible(true);
- // 设置该user1的name属性
- field.set(user1, "zhangsan");
- System.out.println(user.getName());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
在这里能看见
- field.setAccessible(true);
可以看上面User类,该类下的所有属性都是private的访问权限,如果将setAccessible注释掉,系统将给出IllegalAc