Java Class 类 getDeclaredFields()方法及示例
Class类getDeclaredFields()方法
getDeclaredFields()方法在java.lang包中可用。
getDeclaredFields()方法用于返回一个Field对象数组,该数组指示所有Field(即,它是私有,公共,受保护还是默认),但不包括继承的字段。
getDeclaredFields()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
返回Field对象数组时,getDeclaredFields()方法可能会引发异常。
SecurityException:在此异常中,当安全管理器存在时,它可能会引发。
语法:
public Field[] getDeclaredFields();
参数:
它不接受任何参数。
返回值:
此方法的返回类型为Field[],它返回一个Field对象数组,该数组表示该类的所有已声明字段(不包括继承的Fields)。
注意:
当类或接口不包含字段时,将返回0。
当此类对象包含基本类型,数组类或void类型时,将返回0。
示例
//Java程序演示示例
//ofField[]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