Método de campo getDeclaringClass() en Java con ejemplos

El método getDeclaringClass() de java.lang.reflect .Field se usa para obtener el objeto Class que declara el campo representado por este objeto Field. Si el objeto de campo está presente y queremos obtener el objeto de clase, podemos obtener ese objeto de clase usando este método.

Sintaxis:

public Class<T> getDeclaringClass()

Parámetros: Este método no acepta nada.

Valor devuelto: este método devuelve un objeto que representa la clase declarante del miembro subyacente.

Los siguientes programas ilustran el método getDeclaringClass():
Programa 1:

// Java program to demonstrate the above method
  
import java.lang.reflect.Field;
  
public class GFG {
  
    public static void main(String[] args)
        throws NoSuchFieldException,
               SecurityException
    {
  
        // Get the value field object
        Field field
            = User.class
                  .getField("identificationChar");
  
        // get the declaring class object
        Class declaringClass
            = field.getDeclaringClass();
  
        // print result
        System.out.println("Declaring Class"
                           + " for Field Object: "
                           + declaringClass);
    }
}
  
// sample User class
class User {
  
    // static char values
    public static char identificationChar = 'E';
    public static char selectionChar = 'A';
    public static String name = "Aman";
  
    // getter and setter methods
    public static char getIdentificationChar()
    {
        return identificationChar;
    }
  
    public static void
    setIdentificationChar(char identificationChar)
    {
        User.identificationChar = identificationChar;
    }
  
    public static char getSelectionChar()
    {
        return selectionChar;
    }
  
    public static void
    setSelectionChar(char selectionChar)
    {
        User.selectionChar = selectionChar;
    }
  
    public static String getName()
    {
        return name;
    }
  
    public static void setName(String name)
    {
        User.name = name;
    }
}
Producción:

Declaring Class for Field Object: class User

Programa 2:

// Java program to demonstrate the above method
  
import java.lang.reflect.Field;
  
import java.lang.reflect.Field;
  
public class GFG {
  
    public static void main(String[] args)
        throws NoSuchFieldException,
               SecurityException
    {
  
        // Get the value field object
        Field field
            = Alphabets.class.getField("value");
  
        // get the declaring class object
        Class declaringClass
            = field.getDeclaringClass();
  
        // print result
        System.out.println("Declaring Class: "
                           + declaringClass);
    }
  
    // Alphabets class
    static class Alphabets {
  
        // char field
        public static char value = 'Q';
  
        // getter and setter methods
        public static char getValue()
        {
            return value;
        }
  
        public static void setValue(char value)
        {
            Alphabets.value = value;
        }
    }
}
Producción:

Declaring Class: class GFG$Alphabets

Referencias: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getDeclaringClass–

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *