Class getEnclosingConstructor() method in Java with Examples

The getEnclosingConstructor() method of java.lang.Class class is used to get the enclosing constructors of this class. The method returns the enclosing constructors of this class, if this class is a local class or anonymous class declared in that constructor. Else this method returns null.
Syntax:
public Constructor getEnclosingConstructor()
Parameter: This method does not accept any parameter.
Return Value: This method returns the enclosing constructor of this class if this class is a local class or anonymous class declared in that constructor. Else this constructor returns null.
Exception This method throws SecurityException if a security manager is present and the security conditions are not met.
Below programs demonstrate the getEnclosingConstructor() method.
Example 1:
Java
// Java program to demonstrate// getEnclosingConstructor() methodimport 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
Example 2:
Java
// Java program to demonstrate// getEnclosingConstructor() methodimport 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()
Reference: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getEnclosingConstructor–



