要訪問私有字段,可以使用Java反射機制中的Field
類的setAccessible
方法來打開私有字段的訪問權限。下面是一個示例代碼:
import java.lang.reflect.Field;
public class Main {
private String privateField = "private";
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
Main obj = new Main();
Field field = Main.class.getDeclaredField("privateField");
field.setAccessible(true);
String value = (String) field.get(obj);
System.out.println("Private field value: " + value);
}
}
在上面的代碼中,我們首先使用Main.class.getDeclaredField("privateField")
方法獲取私有字段privateField
,然后調用field.setAccessible(true)
方法打開私有字段的訪問權限。最后使用field.get(obj)
方法獲取私有字段的值。