java反射更改成员变量
时间: 2023-10-22 18:04:26 浏览: 117
java 利用反射获取内部类静态成员变量的值操作.docx
通过Java的反射机制,可以在程序运行时访问已经装载到JVM中的Java对象描述,实现访问、检测和修改描述Java对象本身信息的功能。您可以使用反射来更改Java对象的成员变量。在给定一个对象和成员变量名称的情况下,您可以使用`getDeclaredField`方法获取成员变量的`Field`对象,然后使用`setAccessible`方法将其设置为可访问,最后使用`set`方法将新值赋给该字段。
以下是一个示例代码,演示了如何使用反射更改Java对象的成员变量:
```java
User user = new User();
Field field = user.getClass().getDeclaredField("name");
field.setAccessible(true);
field.set(user, "xiaowang");
```
以上代码首先创建了一个`User`对象,然后使用`getDeclaredField`方法获取名为"name"的成员变量对应的`Field`对象。接下来,使用`setAccessible`方法将该`Field`对象设置为可访问,并使用`set`方法将新值"xiaowang"赋给该字段。
阅读全文