El método getDeclaringClass() de la clase java.lang.Class se utiliza para obtener la clase declarante de esta clase. El método devuelve la clase declarante de esta clase, si esta clase o interfaz es miembro de otra clase. De lo contrario, este método devuelve nulo.
Sintaxis:
public Constructor getDeclaringClass()
Parámetro: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve la clase declarante de esta clase si esta clase o interfaz es miembro de otra clase. De lo contrario, este método devuelve nulo.
Excepción Este método lanza SecurityException si un administrador de seguridad está presente y no se cumplen las condiciones de seguridad.
Los siguientes programas demuestran el método getDeclaringClass().
Ejemplo 1:
// Java program to demonstrate getDeclaringClass() method import java.util.*; public class Test { public static void main(String[] args) throws ClassNotFoundException { // returns the Class object for this class Class myClass = Class.forName("Test"); System.out.println("Class represented by myClass: " + myClass.toString()); // Get the declaring class of myClass // using getDeclaringClass() constructor System.out.println("DeclaringClass of myClass: " + myClass.getDeclaringClass()); } }
Class represented by myClass: class Test DeclaringClass of myClass: null
Ejemplo 1:
// Java program to demonstrate getDeclaringClass() method import java.util.*; class Main { class Arr { }; public Object obj; Main() { obj = new Arr(); } public static void main(String[] args) throws ClassNotFoundException { Main t = new Main(); // returns the Class object Class myClass = t.obj.getClass(); // Get the declaring class of myClass // using getDeclaringClass() constructor System.out.println("DeclaringClass of myClass: " + myClass.getDeclaringClass()); } }
DeclaringClass of myClass: class Main
Referencia: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getDeclaringClass–