實現步驟:
1、首先創建一個類包含一個私有屬性
public class PrivateTest { private String name = "hello"; public String getName() { return name; } }
2、通過反射機制修改name的值
import java.lang.reflect.Field; public class ReflectionTest { public static void main(String[] args) throws Exception { PrivateTest pt = new PrivateTest(); Class<?> clazz = PrivateTest.class; // 獲得指定類的屬性 Field field = clazz.getDeclaredField("name"); // 值為 true 則指示反射的對象在使用時應該取消 Java 語言訪問檢查。值為 false 則指示反射的對象應該實施 Java 語言訪問檢查。 field.setAccessible(true); // 更改私有屬性的值 field.set(pt, "world"); System.out.println(pt.getName()); } }