Java.lang.Class.getEnclosingClass() 方法

描述

java.lang.Class.getEnclosureClass() 方法返回底层类的直接封闭类。 如果该类是顶级类,则此方法返回 null。


声明

以下是 java.lang.Class.getEnclosingClass() 方法的声明。

public Class<?> getEnclosingClass()

参数

NA


返回值

该方法返回底层类的直接封闭类。


异常

NA


示例

下面的例子展示了 java.lang.Class.getEnclosingClass() 方法的使用。

package com.tutorialspoint;

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();
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

com.tutorialspoint.ClassDemo$1Outer inner in...class com.tutorialspoint.ClassDemo
com.tutorialspoint.ClassDemo$1Outer$1Inner inner in...class com.tutorialspoint.ClassDemo$1Outer