📜  Java中的类 getEnclosureClass() 方法和示例(1)

📅  最后修改于: 2023-12-03 15:02:03.098000             🧑  作者: Mango

Java中的类 getEnclosingClass() 方法和示例

在 Java 中,getEnclosingClass() 方法是用来获取当前类的封闭类(Enclosing Class)的,也就是包含当前类的最里层类。

语法
public Class<?> getEnclosingClass()
返回值
  • 如果当前类被一个类所包含,则返回代表该类的 Class 对象。
  • 如果当前类是顶层类或是一个匿名类,则返回 null。
示例
public class OuterClass {
    private int x = 1;

    public class InnerClass {
        public int getX() {
            return x;
        }

        public Class<?> getEnclosing() {
            return OuterClass.this.getClass();
        }
    }
}

public class Test {
    public static void main(String[] args) {
        OuterClass outer = new OuterClass();
        OuterClass.InnerClass inner = outer.new InnerClass();
        Class<?> enclosingClass = inner.getEnclosing();

        System.out.println("Enclosing class: " + enclosingClass.getName());
    }
}

输出结果:

Enclosing class: OuterClass

在上面的示例中,我们定义了一个名为 OuterClass 的类,其中包含一个名为 InnerClass 的内部类。InnerClass 类实现了一个方法 getEnclosing(),它返回 OuterClass 类的 Class 对象。在 Test 类中,我们创建了一个 OuterClass 对象和一个 InnerClass 对象。我们调用 InnerClass 的 getEnclosing() 方法来获取封闭类,然后打印出了该类的名称。

上面的代码段通过Java语言编写,使用了Java中的类 getEnclosingClass() 方法。