Java Class 类 getEnclosingClass()方法及示例
Class类getEnclosingClass()方法
getEnclosingClass()方法在java.lang包中可用。
getEnclosingClass()方法用于返回基础类的最近或立即封闭的类。
getEnclosingClass()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
返回Class对象时,getEnclosingClass()方法不会引发异常。
语法:
public Class getEnclosingClass();
参数:
它不接受任何参数。
返回值:
该方法的返回类型为Class,它返回基础类的最近封闭类。
注意:
如果此类没有顶级类别,则返回null。
示例
//Java程序演示示例
//类的ClassgetEnclosingClass()方法
import java.lang.reflect.*;
public class GetEnclosingClassOfClass {
public GetEnclosingClassOfClass() {
//OuterClass在GetEnclosingClassOfClass类的内部
//内部类
//GetEnclosingClassOfClass-
class OuterClass {
public void outerMethod() {
//InnerClass位于OuterClass类的内部,这意味着
//InnerClass是OuterClass的内部类
class InnerClass {
public void innerMethod() {
System.out.println(getClass().getEnclosingClass());
}
}
System.out.println(getClass().getEnclosingClass());
//创建一个InnerClass的实例
InnerClass ic = new InnerClass();
ic.innerMethod();
}
}
//创建一个OuterClass的实例
OuterClass oc = new OuterClass();
oc.outerMethod();
}
public static void main(String[] args) {
GetEnclosingClassOfClass enclo_class = new GetEnclosingClassOfClass();
}
}输出结果
class GetEnclosingClassOfClass class GetEnclosingClassOfClass$1OuterClass