El método getEnclosingConstructor() de la clase java.lang.Class se utiliza para obtener los constructores adjuntos de esta clase. El método devuelve los constructores adjuntos de esta clase, si esta clase es una clase local o una clase anónima declarada en ese constructor. De lo contrario, este método devuelve nulo.
Sintaxis:
public Constructor getEnclosingConstructor()
Parámetro: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve el constructor adjunto de esta clase si esta clase es una clase local o una clase anónima declarada en ese constructor. De lo contrario, este constructor 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 muestran el método getEnclosingConstructor().
Ejemplo 1:
Java
// Java program to demonstrate // getEnclosingConstructor() 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 enclosing constructors of myClass // using getEnclosingConstructor() constructor System.out.println("EnclosingConstructor of myClass: " + myClass.getEnclosingConstructor()); } }
Class represented by myClass: class Test EnclosingConstructor of myClass: null
Ejemplo 2:
Java
// Java program to demonstrate // getEnclosingConstructor() method import java.util.*; class Main { public Object obj; Main() { class Arr { }; 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 enclosing constructors of myClass // using getEnclosingConstructor() constructor System.out.println("EnclosingConstructor of myClass: " + myClass.getEnclosingConstructor()); } }
EnclosingConstructor of myClass: Main()
Referencia: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getEnclosingConstructor–