Java Class 类 getEnclosingMethod()方法及示例

Class类getEnclosingMethod()方法

  • getEnclosingMethod()方法在java.lang包中可用。

  • 当此Class对象表示方法内部的本地或匿名类时,使用getEnclosingMethod()方法返回基础类的最新封闭方法。

  • getEnclosingMethod()方法是一个非静态方法,只能使用类对象进行访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • getEnclosingMethod()方法在返回Method对象时不会引发异常。

语法:

    public Method getEnclosingMethod();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为Method,当此类是本地或匿名类时,它将返回基础类的最近封闭方法。

注意:如果此类不是本地的或匿名的,则返回null。

示例

//Java程序演示示例 
//方法getEnclosingMethod() 
//类的方法 

public class GetEnclosingMethodOfClass {
    public Object a1;
    public GetEnclosingMethodOfClass() {
        class A1 {};
        a1 = new A1();
    }

    public Object A1() {
        class A1 {};
        return new A1();
    }

    public static void main(String[] args) {

        //它返回A1方法的类是 
        //GetEnclosingMethodOfClass和方法A1包含在 
        //类GetEnclosingConstructorOfClass- 
        Class cl = (new GetEnclosingMethodOfClass()).A1().getClass();

        System.out.print("Enclosing Method :");
        System.out.print(cl.getEnclosingMethod());
    }
}

输出结果

Enclosing Method :public java.lang.Object GetEnclosingMethodOfClass.A1()