Java Class 类 getEnclosingConstructor()方法及示例

Class类getEnclosingConstructor()方法

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

  • 当此Class对象表示构造函数内部的本地类时,使用getEnclosingConstructor()方法返回基础类的最近封闭的构造函数。

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

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

语法:

    public Constructor getEnclosingConstructor();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为Constructor,当该类为本地或匿名类时,它将返回最近封闭的基础类的构造函数。

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

示例

//Java程序演示示例 
//类的构造getEnclosingConstructor()方法的说明 

import java.lang.reflect.*;

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

    public static void main(String[] args) {
        //它返回a1对象的类是A1类,然后
        //A1类包含在类的公共构造函数中
        //GetEnclosingConstructorOfClass类
        Class cl = (new GetEnclosingConstructorOfClass()).a1.getClass();

        System.out.print("Enclosing Constructor: ");
        System.out.print(cl.getEnclosingConstructor());
    }
}

输出结果

Enclosing Constructor: public GetEnclosingConstructorOfClass()