getDeclaredFields()
方法getDeclaredFields()方法在java.lang包中可用。
getDeclaredFields()方法用于返回一个Field对象数组,该数组指示所有Field(即,它是私有,公共,受保护还是默认),但不包括继承的字段。
getDeclaredFields()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
返回Field对象数组时,getDeclaredFields()方法可能会引发异常。
SecurityException:在此异常中,当安全管理器存在时,它可能会引发。
语法:
public Field[] getDeclaredFields();
参数:
它不接受任何参数。
返回值:
此方法的返回类型为Field [],它返回一个Field对象数组,该数组表示该类的所有已声明字段(不包括继承的Fields)。
注意:
当类或接口不包含字段时,将返回0。
当此类对象包含基本类型,数组类或void类型时,将返回0。
示例
//Java程序演示示例 //of Field []getDeclaredFields()类的方法 import java.lang.reflect.*; public class GetDeclaredFieldsOfClass { public static void main(String[] args) throws Exception { GetDeclaredFieldsOfClass declare_field = new GetDeclaredFieldsOfClass(); //获取类 Class cl = declare_field.getClass(); //的Field对象数组 //代表的任何字段(私有,公共,受保护等) //排除继承字段的类 Field[] f = cl.getDeclaredFields(); for (int i = 0; i < f.length; ++i) System.out.println("Declared Fields: " + f[i].toString()); } //私有构造函数 private GetDeclaredFieldsOfClass() { System.out.println("We are in private constructor"); } //公共构造函数 public GetDeclaredFieldsOfClass(int i, short s) { this.i = i; this.s = s; } private int i = 100; public short s = 200; }
输出结果
We are in private constructor Declared Fields: private int GetDeclaredFieldsOfClass.i Declared Fields: public short GetDeclaredFieldsOfClass.s