Class getEnclosingMethod() method in Java with Examples (original) (raw)

Last Updated : 27 Jan, 2022

The getEnclosingMethod() method of java.lang.Class class is used to get the enclosing methods of this class. The method returns the enclosing methods of this class if this class is a local class or anonymous class declared in that method. Else this method returns null.
Syntax:

public Method getEnclosingMethod()

Parameter: This method does not accept any parameter.
Return Value: This method returns the enclosing methods of this class if this class is a local class or anonymous class declared in that method. Else this method returns null.
Exception This method throws SecurityException if a security manager is present and the security conditions are not met.
Below programs demonstrate the getEnclosingMethod() method.
Example 1:

Java

import java.util.*;

public class Test {

`` public static void main(String[] args)

`` throws ClassNotFoundException

`` {

`` Class myClass = Class.forName("Test");

`` System.out.println("Class represented by myClass: "

`` + myClass.toString());

`` System.out.println("EnclosingMethod of myClass: "

`` + myClass.getEnclosingMethod());

`` }

}

Output:

Class represented by myClass: class Test EnclosingMethod of myClass: null

Example 2:

Java

import java.util.*;

class Main {

`` public Object obj;

`` public Object func()

`` {

`` class Arr {

`` };

`` return new Arr();

`` }

`` public static void main(String[] args)

`` throws ClassNotFoundException

`` {

`` Main t = new Main();

`` Class myClass = t.func().getClass();

`` System.out.println("getEnclosingMethod of myClass: "

`` + myClass.getEnclosingMethod());

`` }

}

Output:

EnclosingConstructor of myClass: public java.lang.Object Main.func()

Reference: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getEnclosingMethod–

Similar Reads