Java-lang-class-getdeclaredfields
提供:Dev Guides
Java.lang.Class.getDeclaredFields()メソッド
説明
- java.lang.Class.getDeclaredFields()*メソッドは、public、protected、default(package)access、およびprivateフィールドを含むFieldオブジェクトの配列を返しますが、継承されたフィールドは除外します。 クラスまたはインターフェイスがフィールドを宣言しない場合、またはこのClassオブジェクトがプリミティブ型、配列クラス、またはvoidを表す場合、メソッドは長さ0の配列を返します。
宣言
以下は* java.lang.Class.getDeclaredFields()*メソッドの宣言です
public Field[] getDeclaredFields() throws SecurityException
パラメーター
NA
戻り値
このメソッドは、このクラスの宣言されたすべてのフィールドを表すFieldオブジェクトの配列を返します。
例外
*SecurityException* -セキュリティマネージャーsが存在する場合。
例
次の例は、java.lang.Class.getDeclaredFields()メソッドの使用方法を示しています。
package com.finddevguides;
import java.lang.reflect.*;
public class ClassDemo {
public static void main(String[] args) {
try {
ClassDemo c = new ClassDemo();
Class cls = c.getClass();
//returns the array of Field objects
Field[] fields = cls.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("Field = " + fields[i].toString());
}
} catch(Exception e) {
System.out.println(e.toString());
}
}
public ClassDemo() {
//no argument constructor
}
public ClassDemo(long l, int i) {
this.l = l;
this.i = i;
}
long l = 77688;
int i = 3;
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
Field = long com.finddevguides.ClassDemo.l
Field = int com.finddevguides.ClassDemo.i