java 反射機制怎么讀寫字段?
2023-02-24 21:25 作者:銀河婉轉(zhuǎn)三千曲 | 我要投稿
Java反射機制提供了訪問對象或類的字段的能力。以下是如何使用Java反射API讀寫字段的步驟:
獲取字段對象:首先,需要獲取一個字段對象,可以通過以下方式之一獲得:
使用Class對象的getField()或getDeclaredField()方法獲取公共或私有字段對象。
使用Class對象的getFields()或getDeclaredFields()方法獲取類的所有公共或私有字段對象。
例如,以下代碼獲取名為"fieldName"的私有字段的引用:
設(shè)置訪問權(quán)限:如果字段是私有的,需要使用setAccessible()方法打開訪問權(quán)限,以便可以讀取或?qū)懭朐撟侄巍?/p>
讀取字段值:可以使用get()方法從字段中讀取值。如果字段是靜態(tài)的,則可以傳遞null作為要讀取值的對象。
寫入字段值:可以使用set()方法將值寫入字段。如果字段是靜態(tài)的,則可以傳遞null作為要寫入值的對象。
其中,objectInstance是包含要讀取或?qū)懭胱侄沃档膶ο蟮膶嵗H绻侄问庆o態(tài)的,則不需要提供該實例。
以下是一個完整的示例代碼:
輸出結(jié)果: