「Java」getDeclaredFieldsでクラスのメンバー変数を取得する
環境
JDK1.8
Eclipse2019
書式
public Field[] getDeclaredFields() throws SecurityException
このClassオブジェクトが表すクラスまたはインタフェースによって宣言されたすべてのフィールドをリフレクトするFieldオブジェクトの配列を返します。
これには、public、protected、デフォルト(package)アクセス、およびprivateフィールドは含まれますが、継承フィールドは含まれません。
使用例
package com.arkgame.study.java;
import java.lang.reflect.Field;
public class Cft {
public static void main(String[] args) {
Class<Users> ca = Users.class;
//getDeclaredFieldメソッドでクラスのメンバー変数を取得
Field[] fdArr = ca.getDeclaredFields();
System.out.println("クラスのフィールドと型");
for (Field fd : fdArr) {
System.out.println(fd);
}
}
}
//クラスUsers
class Users {
int age;
String username;
long sno;
}
package com.arkgame.study.java;
import java.lang.reflect.Field;
public class Cft {
public static void main(String[] args) {
Class<Users> ca = Users.class;
//getDeclaredFieldメソッドでクラスのメンバー変数を取得
Field[] fdArr = ca.getDeclaredFields();
System.out.println("クラスのフィールドと型");
for (Field fd : fdArr) {
System.out.println(fd);
}
}
}
//クラスUsers
class Users {
int age;
String username;
long sno;
}
package com.arkgame.study.java; import java.lang.reflect.Field; public class Cft { public static void main(String[] args) { Class<Users> ca = Users.class; //getDeclaredFieldメソッドでクラスのメンバー変数を取得 Field[] fdArr = ca.getDeclaredFields(); System.out.println("クラスのフィールドと型"); for (Field fd : fdArr) { System.out.println(fd); } } } //クラスUsers class Users { int age; String username; long sno; }
実行結果
クラスのフィールドと型
int com.arkgame.study.java.Users.age
java.lang.String com.arkgame.study.java.Users.username
long com.arkgame.study.java.Users.sno