El método getField() de la clase java.lang.Class se utiliza para obtener el campo especificado de esta clase, que es el campo público y sus miembros. El método devuelve el campo especificado de esta clase en forma de objetos de campo.
Sintaxis:
public Field getField(String fieldName) throws NoSuchFieldException, SecurityException
Parámetro: este método acepta un parámetro fieldName que es el campo a obtener.
Valor devuelto: este método devuelve el campo especificado de esta clase en forma de objetos de campo.
Excepción Este método arroja:
- NoSuchFieldException si no se encuentra un campo con el nombre especificado.
- NullPointerException si el nombre es nulo
- SecurityException si un administrador de seguridad está presente y no se cumplen las condiciones de seguridad.
Los siguientes programas muestran el método getField().
Ejemplo 1:
// Java program to demonstrate getField() method import java.util.*; public class Test { public Object obj; public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException { // returns the Class object for this class Class myClass = Class.forName("Test"); System.out.println("Class represented by myClass: " + myClass.toString()); String fieldName = "obj"; // Get the field of myClass // using getField() method System.out.println( fieldName + " Field of myClass: " + myClass.getField(fieldName)); } }
Producción:
Class represented by myClass: class Test obj Field of myClass: public java.lang.Object Test.obj
Ejemplo 2:
// Java program to demonstrate getField() method import java.util.*; class Main { private Object obj; Main() { class Arr { }; obj = new Arr(); } public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException { Main t = new Main(); // returns the Class object Class myClass = t.obj.getClass(); String fieldName = "obj"; try { // Get the field of myClass // using getField() method System.out.println( fieldName + " Field of myClass: " + myClass.getField(fieldName)); } catch (Exception e) { System.out.println(e); } } }
Producción:
java.lang.NoSuchFieldException: obj
Referencia: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getField-java.lang.String-