Java-lang-class-getdeclaredannotations

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

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

説明

  • java.lang.Class.getDeclaredClasses()*メソッドは、パブリック、保護、デフォルト(パッケージ)アクセス、およびクラスによって宣言されたプライベートクラスとインターフェースを含むClassオブジェクトの配列を返しますが、継承されたクラスとインターフェースは除外します。

このメソッドは、クラスがメンバーとしてクラスまたはインターフェイスを宣言しない場合、またはこのClassオブジェクトがプリミティブ型、配列クラス、またはvoidを表す場合、長さ0の配列を返します。

宣言

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

public Class<?>[] getDeclaredClasses() throws SecurityException

パラメーター

NA

戻り値

このメソッドは、このクラスの宣言されたすべてのメンバーを表すClassオブジェクトの配列を返します。

例外

*SecurityException* -セキュリティマネージャーsが存在する場合。

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

package com.finddevguides;

import java.lang.*;

public class ClassDemo {

   public static void main(String[] args) {

      try {
        //returns the Class object associated with this class
         Class cls = Class.forName("ClassDemo");

        /*returns the array of Class objects representing all the declared
            members of this class*/
         Class[] classes = cls.getDeclaredClasses();
         for (int i = 0; i < classes.length; i++) {
            System.out.println("Class = " + classes[i].getName());
         }
      } catch (ClassNotFoundException e) {
         System.out.println(e.toString());
      }
   }

   public class InnerClass1 {
      public InnerClass1() {
         System.out.println("Inner Class1");
      }
   }

   public class InnerClass2 {
      public InnerClass2() {
         System.out.println("Inner Class2");
      }
   }

   private class InnerPrivateClass {
      public InnerPrivateClass() {
         System.out.println("Inner Private Class");
      }
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

Class = ClassDemo$InnerPrivateClass
Class = ClassDemo$InnerClass2
Class = ClassDemo$InnerClass1