实现步骤:
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()); } }