Java Class 类 getFields()方法及示例

Class类getFields()方法

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

  • getFields()方法用于返回一个Field对象数组,这些对象指示此Class对象表示的类或接口的所有公共Field。

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

  • 在返回Field对象数组时,getFields()方法可能会引发异常。
    SecurityException:在此异常中,当安全管理器存在时可能会引发此异常。

语法:

    public Field[] getFields();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为Field [],它返回一个Field对象数组,该数组表示此类或接口的所有公共字段。

注意:

  • 当类或接口不包含公共字段时,将返回0。

  • 当此类对象包含基本类型,数组类或void类型时,将返回0。

示例

// Java program to demonstrate the example 
// of Field[] getFields () method of Class 

import java.lang.reflect.*;

public class GetFieldsOfClass {
    public static void main(String[] args) throws Exception {
        GetFieldsOfClass fields = new GetFieldsOfClass();

        // Get Class
        Class cl = fields.getClass();

        // 它返回一个 Field 对象数组,该数组指示
        // 类表示的公共字段
        Field[] f = cl.getFields();

        for (int i = 0; i < f.length; ++i)
            System.out.println("Public Fields: " + f[i].toString());
    }

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

    // 公共构造函数
    public GetFieldsOfClass(int i, short s) {
        this.i = i;
        this.s = s;
    }

    private int i = 100;
    public short s = 200;
}

输出结果

We are in private constructor
Public Fields: public short GetFieldsOfClass.s