Thursday, July 4, 2024
HomeLanguagesJavaClass getEnclosingMethod() method in Java with Examples

Class getEnclosingMethod() method in Java with Examples

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–
 

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments