Java Class 类 getDeclaredField()方法及示例

Class类getDeclaredField()方法

  • getDeclaredField()方法在java.lang包中可用。

  • getDeclaredField()方法用于返回一个Field对象,该对象指示该类的给定声明字段或由此Class对象表示的接口。

  • getDeclaredField()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 返回一个Field对象时,getDeclaredField()方法可能会引发异常。

    • NoSuchFieldException:在此异常中,当指定字段不存在时。

    • SecurityException:在此异常中,当安全管理器存在时,它可能会引发。

    • NullPointerException:在此异常中,当给定的Field为null时。

语法:

    public Field getDeclaredField (String field_name);

参数:

  • 字符串field_name –代表字段名称。

返回值:

此方法的返回类型为Field,它返回此类中给定Field的Field对象。

示例

//Java程序演示示例 
//类的Field getDeclaredField(String field_name)方法 

import java.lang.reflect.*;

public class GetDeclaredFieldOfClass {
    public static void main(String[] args) throws Exception {
        GetDeclaredFieldOfClass declare_field = new GetDeclaredFieldOfClass();
        //获取类
        Class cl = declare_field.getClass();

        //通过使用getDeclaredField()方法是获取
        //类 
        Field f = cl.getDeclaredField("i");
        System.out.println("Declared Field: " + f.toString());
    }

    //私有构造函数
    private GetDeclaredFieldOfClass() {
        System.out.println("We are in private constructor");
    }

    //公共构造函数
    public GetDeclaredFieldOfClass(int i) {
        this.i = i;
    }
    int i = 100;
}

输出结果

We are in private constructor
Declared Field: int GetDeclaredFieldOfClass.i