java.lang.Class.getDeclaredField(String fieldName)

java.lang.Class.getDeclaredField(String fieldName)
转自: http://technet.microsoft.com/zh-cn/library/aa989722 

功能: Gets the field (public, private, or protected) with the given name. 

原型: public java.lang.reflect.Field getDeclaredField(java.lang.String fieldName)

Example:
//  class_getdeclaredfield.jsl

import java.lang.reflect.Field;
import java.util.Date;

public  class Program
{
     public  static  void main(String[] args)
    {
         try
        {
             //  Get the Class object associated with this class.
            Program program =  new Program();
            Class progClass = program.getClass();

             //  Get the field named str.
            Field strField = progClass.getDeclaredField("str");
            System.out.println("Field found: " + strField.toString());

             //  Get the field named date.
            Field dateField = progClass.getDeclaredField("date");
            System.out.println("Field found: " + dateField.toString());

             //  Get the field named i.
            Field iField = progClass.getDeclaredField("i");
            System.out.println("Field found: " + iField.toString());
        }
         catch (NoSuchFieldException ex)
        {
            System.out.println(ex.toString());
        }
    }

     public Program()
    {
    }

     public Program(String str, Date date,  int i)
    {
         this.str = str;
         this.date = date;
         this.i = i;
    }

     public String str = "Hello";
     private Date date =  new Date();
     protected  int i = 0;
}

/*
Output:
Field found: public java.lang.String Program.str
Field found: private java.util.Date Program.date
Field found: protected int Program.i
*/

注:
getFields()获得某个类的所有的公共(public)的字段,包括父类。 
getDeclaredFields()获得某个类的所有申明的字段,即包括public、private和proteced,但是不包括父类的申明字段。 

你可能感兴趣的:(java.lang.Class.getDeclaredField(String fieldName))