Class类getField()方法getField()方法在java.lang包中可用。
getField()方法用于返回一个Field对象,该对象指示该类的给定公共成员字段或由此Class对象表示的接口。
getField()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
getField()方法在返回Field对象时可能会引发异常。NoSuchFieldException:在此异常中,当指定字段不存在时。
SecurityException:在此异常中,当安全管理器存在时可能会引发此异常。
NullPointerException:在给定字段为null的情况下,此异常。
语法:public Field getField (String field_name);
参数:字符串field_name –代表字段名称。
返回值:
此方法的返回类型为Field,它返回此类中给定Field的Field对象。
示例// Java program to demonstrate the example
// 类的Field getField(String field_name)方法
import java.lang.reflect.*;
public class GetFieldOfClass {
public static void main(String[] args) throws Exception {
GetFieldOfClass field = new GetFieldOfClass();
// Get Class
Class cl = field.getClass();
//通过使用getField()方法是获取类的公共字段
Field f = cl.getField("i");
System.out.println("Field: " + f.toString());
}
//私有构造函数
private GetFieldOfClass() {
System.out.println("We are in private constructor");
}
//公共构造函数
public GetFieldOfClass(int i) {
this.i = i;
}
public int i = 100;
}
输出结果We are in private constructor
Field: public int GetFieldOfClass.i