Open In App

Class getEnclosingMethod() method in Java with Examples

Last Updated : 27 Jan, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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




// Java program to demonstrate getEnclosingMethod() 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 methods of myClass
        // using getEnclosingMethod() method
        System.out.println("EnclosingMethod of myClass: "
                           + myClass.getEnclosingMethod());
    }
}


Output: 

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

 

Example 2:
 

Java




// Java program to demonstrate getEnclosingMethod() method
 
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();
 
        // returns the Class object
        Class myClass = t.func().getClass();
 
        // Get the enclosing constructors of myClass
        // using getEnclosingConstructor() constructor
        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–
 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads