Java反射包中的“ getDeclaredXyz”代表什么

问题描述

|| 例如:
o.getClass().getDeclaredFields()
vs.
o.getClass().getFields()
; 是否在当前源文件中声明了“已声明”?     

解决方法

        
getDeclaredFields()
:   返回一个Field对象数组,该数组反映由该Class对象表示的类或接口声明的所有字段。这包括公共,受保护,默认(程序包)访问和私有字段,但不包括继承的字段。返回的数组中的元素未排序,并且没有任何特定顺序。如果类或接口未声明任何字段,或者此Class对象表示原始类型,数组类或void,则此方法返回长度为0的数组。
getFields()
:   返回一个包含Field对象的数组,该对象反映此Class对象表示的类或接口的所有可访问公共字段。返回的数组中的元素未排序,并且没有任何特定顺序。如果类或接口没有可访问的公共字段,或者表示数组类,原始类型或void,则此方法返回长度为0的数组。   具体来说,如果此Class对象表示一个类,则此方法返回该类及其所有超类的公共字段。如果此Class对象表示一个接口,则此方法返回此接口及其所有超级接口的字段。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...