随
setAccessible()您更改的行为
AccessibleObject,即
Field实例,但不更改类的实际字段。这是文档(节选):
值
true表示使用该反射对象时,应禁止检查Java语言访问控制
和一个可运行的示例:
public class FieldAccessible { public static class MyClass { private String theField; } public static void main(String[] args) throws Exception { MyClass myClass = new MyClass(); Field field1 = myClass.getClass().getDeclaredField("theField"); field1.setAccessible(true); System.out.println(field1.get(myClass)); // no exception Field field2 = myClass.getClass().getDeclaredField("theField"); System.out.println(field2.get(myClass)); // IllegalAccessException }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)