标题: 反射修改final Field 现象求解释 [打印本页] 作者: 原满 时间: 2013-6-1 14:59 标题: 反射修改final Field 现象求解释 本帖最后由 原满 于 2013-6-1 15:04 编辑
public class Test {
private final String str = "original";
public static void main(String[] args) throws Exception {
Test t = new Test();
Field field = t.getClass().getDeclaredField("str");
field.setAccessible(true);
field.set(t, "changed");
System.out.println(field.get(t)); //此处打印 changed
System.out.println(t.str); //但直接调用却打印 original
Field field1 = t.getClass().getDeclaredField("str");
System.out.println(field1.get(t));//此处还是打印 changed
}
}