package lecture.etc;
import java.lang.reflect.Field;
import jp.avaj.lib.debug.L;
/**
* リフレクション - フィールド情報を取得する Java
*/
class GetFieldInfo {
public static void main(String[] args) {
try {
Class myClass = MyClass.class;
L.p("-- すべてのフィールドを取得する");
Field[] fields = myClass.getDeclaredFields();
for (Field field : fields) {
print(field);
}
L.p("-- publicのフィールドを取得する");
fields = myClass.getFields();
for (Field field : fields) {
print(field);
}
L.p("-- 名前を指定してprivateのフィールドを取得する");
print(myClass.getDeclaredField("str0"));
L.p("-- 名前を指定してpublicのフィールドを取得する");
print(myClass.getField("str1"));
}
catch(Exception ex) {
ex.printStackTrace();
}
}
static class MyClass {
private String str0;
public String str1;
protected String str2;
private int int0;
public int int1;
protected int int2;
private boolean bool0;
public boolean bool1;
protected boolean bool2;
}
private static void print(Field f) {
L.p("field:"+f.toString());
}
}
//---------------------------------------------------
//・目次 Javaエトセトラ
// http://blogs.yahoo.co.jp/artery2020/40576157.html
//・目次 - Java入門
// http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
// http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
// http://blogs.yahoo.co.jp/artery2020/39657784.html
//---------------------------------------------------
import java.lang.reflect.Field;
import jp.avaj.lib.debug.L;
/**
* リフレクション - フィールド情報を取得する Java
*/
class GetFieldInfo {
public static void main(String[] args) {
try {
Class myClass = MyClass.class;
L.p("-- すべてのフィールドを取得する");
Field[] fields = myClass.getDeclaredFields();
for (Field field : fields) {
print(field);
}
L.p("-- publicのフィールドを取得する");
fields = myClass.getFields();
for (Field field : fields) {
print(field);
}
L.p("-- 名前を指定してprivateのフィールドを取得する");
print(myClass.getDeclaredField("str0"));
L.p("-- 名前を指定してpublicのフィールドを取得する");
print(myClass.getField("str1"));
}
catch(Exception ex) {
ex.printStackTrace();
}
}
static class MyClass {
private String str0;
public String str1;
protected String str2;
private int int0;
public int int1;
protected int int2;
private boolean bool0;
public boolean bool1;
protected boolean bool2;
}
private static void print(Field f) {
L.p("field:"+f.toString());
}
}
//---------------------------------------------------
//・目次 Javaエトセトラ
// http://blogs.yahoo.co.jp/artery2020/40576157.html
//・目次 - Java入門
// http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
// http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
// http://blogs.yahoo.co.jp/artery2020/39657784.html
//---------------------------------------------------