Un objet Field représente un champ réflêchi. Le champ sous-jacent peut être une variable de classe (champ statique) ou une variable d'instance (champ non-statique).

Les méthodes de la classe Field sont utilisées pour obtenir le type et la valeur du champ, et également fixer la valeur de ce dernier.

Class classe = Class.forName(args[0]);
Field[] champs = classe.getDeclaredFields();

La classe Field comporte principalement des méthodes destinées à récupérer (get) ou à assigner (set) la valeur d'un champ. Il existe une de ces méthodes pour chaque type primitif Java (getTypePrimitif() et setTypePrimitif()) et pour les objets (get(obj) et set(obj, val)).

Class classe = Class.forName("java.util.GregorianCalendar");
Object obj = classe.newInstance();
Field champ = classe.getField("FIELD_COUNT");
int val = champ.getInt(obj);
System.out.println(champ.getName() + " = " + val);

Class classe = Class.forName("java.util.Locale");
Class[] typesParams = {Class.forName("java.lang.String")};
Constructor constructeur = classe.getConstructor(typesParams);
Object[] params = {new String("FR")};
Object obj = constructeur.newInstance(params);
Field champ = classe.getField("FRENCH");
Object val = champ.get(obj);
System.out.println(champ.getName() + " = " + val.toString());

En outre, des méthodes fournissent également des informations sur l'objet Field, Il s'agît des méthodes getName(), getType() et getDeclaringClass() retournant respectivement le nom, le type référence et la classe de déclaration du champ sous-jacent.

Exemple [voir]
import java.util.Calendar;
import java.util.GregorianCalendar;

public class Calendrier {
  public static int annee;
  public Calendrier(){
    GregorianCalendar gc = new GregorianCalendar();
    annee = gc.get(Calendar.YEAR);
  }
}

import java.lang.reflect.Field;

public class Introspection {
  public static void main(String[] args){
    try{
      Class classe = Class.forName("Calendrier");
      Object cal = classe.newInstance();
      Field champ = classe.getField("annee");
      int valeur = champ.getInt(cal);
      System.out.println(champ.getName() + " = " + valeur);
      champ.setInt(cal, 2020);
      valeur = champ.getInt(cal);
      System.out.println(champ.getName() + " = " + valeur);
    }
    catch(Exception e){
      e.printStackTrace();
    }
  }
}