如何解决Java反射包中的“ getDeclaredXyz”代表什么
|| 例如:o.getClass().getDeclaredFields()
vs.o.getClass().getFields()
;
是否在当前源文件中声明了“已声明”?
解决方法
getDeclaredFields()
:
返回一个Field对象数组,该数组反映由该Class对象表示的类或接口声明的所有字段。这包括公共,受保护,默认(程序包)访问和私有字段,但不包括继承的字段。返回的数组中的元素未排序,并且没有任何特定顺序。如果类或接口未声明任何字段,或者此Class对象表示原始类型,数组类或void,则此方法返回长度为0的数组。
getFields()
:
返回一个包含Field对象的数组,该对象反映此Class对象表示的类或接口的所有可访问公共字段。返回的数组中的元素未排序,并且没有任何特定顺序。如果类或接口没有可访问的公共字段,或者表示数组类,原始类型或void,则此方法返回长度为0的数组。
具体来说,如果此Class对象表示一个类,则此方法返回该类及其所有超类的公共字段。如果此Class对象表示一个接口,则此方法返回此接口及其所有超级接口的字段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。