java 反射机制怎么读写字段?
Java反射机制提供了访问对象或类的字段的能力。以下是如何使用Java反射API读写字段的步骤:
获取字段对象:首先,需要获取一个字段对象,可以通过以下方式之一获得:
使用Class对象的getField()或getDeclaredField()方法获取公共或私有字段对象。
使用Class对象的getFields()或getDeclaredFields()方法获取类的所有公共或私有字段对象。
例如,以下代码获取名为"fieldName"的私有字段的引用:
设置访问权限:如果字段是私有的,需要使用setAccessible()方法打开访问权限,以便可以读取或写入该字段。
读取字段值:可以使用get()方法从字段中读取值。如果字段是静态的,则可以传递null作为要读取值的对象。
写入字段值:可以使用set()方法将值写入字段。如果字段是静态的,则可以传递null作为要写入值的对象。
其中,objectInstance是包含要读取或写入字段值的对象的实例。如果字段是静态的,则不需要提供该实例。
以下是一个完整的示例代码:
输出结果: