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