Java反射之getDeclaredField和getField的区别
getDeclaredField是可以获取一个类本身的所有字段.
getField只能获取类及其父类的public 字段.
- public Field getDeclaredField(String name)
- throws NoSuchFieldException, SecurityException {
- checkMemberAccess(Member.DECLARED, ClassLoader.getCallerClassLoader());
- Field field = searchFields(privateGetDeclaredFields(false), name);
- if (field == null) {
- throw new NoSuchFieldException(name);
- }
- return field;
- }
- rivate Field getField0(String name) throws NoSuchFieldException {
- Field res = null;
- // Search declared public fields
- if ((res = searchFields(privateGetDeclaredFields(true), name)) != null) {
- return res;
- }
- ......
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2