java 反射 能直接对私有属性赋值么?不通过set方法

2025-04-18 06:16:10
推荐回答(2个)
回答1:

设置
A a = new A();
Field field = a.getClass().getDeclaredField("x");
field.setAccessible(true);
field.set(a, 1);
读取
Field f = a.getClass().getDeclaredField("x");
f.setAccessible(true);
System.out.println(f.get(a));

回答2:

field.setAccessible(true);