位置:首页 > Java技术 > java.lang > java.lang.Class.getDeclaredFields()方法实例

java.lang.Class.getDeclaredFields()方法实例

java.lang.Class.getDeclaredFields() 方法返回Field对象的数组,包括公共,保护,默认(包)访问和私有字段,但不包括继承的字段。该方法返回一个长度为0的数组,如果类或接口不声明任何字段,或者此Class对象表示一个基本类型,数组类或void。

声明

以下是java.lang.Class.getDeclaredFields()方法的声明

public Field[] getDeclaredFields() throws SecurityException

参数

  • NA

返回值

此方法返回一个代表这个类的所有声明的字段Field对象的数组。

异常

  • SecurityException -- 如果安全管理存在。

例子

下面的例子显示java.lang.Class.getDeclaredFields()方法的使用。

package com.yiibai;

import java.lang.reflect.*;

public class ClassDemo {

   public static void main(String[] args) {

     try {            
        ClassDemo c = new ClassDemo();
        Class cls = c.getClass();
       
        // returns the array of Field objects
        Field[] fields = cls.getDeclaredFields();
        for(int i = 0; i < fields.length; i++) {
           System.out.println("Field = " + fields[i].toString());
        }
     }
     catch(Exception e) {
        System.out.println(e.toString());
     }
   }

   public ClassDemo() {
      // no argument constructor
   }

   public ClassDemo(long l, int i) {
      this.l = l;
      this.i = i;
   }

   long l = 77688;
   int i = 3;
}

让我们来编译和运行上面的程序,这将产生以下结果:

Field = long ClassDemo.l
Field = int ClassDemo.i