Java反射零碎总结

1.修正一个错误的记忆,之前以为Xx.class.getDeclaredField("...")能够获取到包括其父类的所有属性是错误的,如果该属性只在父类里有且是private是获取不到的,必须用父类的.class.getDeclaredField("..")来获取;

2.如果是private的普通属性(非final),那么直接setAccessible(true)即可使用它(get和set均要),如果是final的则还需要通过:Field modifiers = Field.class.getDeclaredField("modifiers");modifiers.setAccessible(true);modifiers.setInt(finalPropField, finalPropField.getModifiers() & ~Modifier.FINAL);来实现对该属性的get和set访问;

原文地址:https://www.cnblogs.com/silentdoer/p/12673980.html