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