java.lang.Class.getEnclosingClass()方法实例
java.lang.Class.getEnclosingClass() 方法返回直接封闭类的底层类。如果这个类是一个顶级类此方法返回null。
声明
以下是java.lang.Class.getEnclosingClass()方法的声明
public Class<?> getEnclosingClass()
参数
-
NA
返回值
此方法返回直接封闭类的底层类。
异常
-
NA
例子
下面的例子显示java.lang.Class.getEnclosingClass()方法的使用。
package com.yiibai; import java.lang.*; public class ClassDemo { // constructor public ClassDemo() { // class Outer as inner class for class ClassDemo class Outer { public void show() { // inner class of Class Outer class Inner { public void show() { System.out.print(getClass().getName() + " inner in..."); System.out.println(getClass().getEnclosingClass()); } } System.out.print(getClass().getName() + " inner in..."); System.out.println(getClass().getEnclosingClass()); // inner class show() function Inner i = new Inner(); i.show(); } } // outer class show() function Outer o = new Outer(); o.show(); } public static void main(String[] args) { ClassDemo cls = new ClassDemo(); } }
让我们来编译和运行上面的程序,这将产生以下结果:
ClassDemo$1Outer inner in...class ClassDemo ClassDemo$1Outer$1Inner inner in...class ClassDemo$1Outer