Java-lang-class-getenclosingclass

提供:Dev Guides
移動先:案内検索

Java.lang.Class.getEnclosingClass()メソッド

説明

  • java.lang.Class.getEnclosingClass()*メソッドは、基になるクラスのすぐに含まれるクラスを返します。 このクラスが最上位クラスの場合、このメソッドはnullを返します。

宣言

以下は* java.lang.Class.getEnclosingClass()*メソッドの宣言です

public Class<?> getEnclosingClass()

パラメーター

NA

戻り値

このメソッドは、基になるクラスのすぐ外側のクラスを返します。

例外

NA

次の例は、java.lang.Class.getEnclosingClass()メソッドの使用方法を示しています。

package com.finddevguides;

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.finddevguides.ClassDemo$1Outer inner in...class com.finddevguides.ClassDemo
com.finddevguides.ClassDemo$1Outer$1Inner inner in...class com.finddevguides.ClassDemo$1Outer