JAva反射アクセスメンバー変数
1374 ワード
クラス:
呼び出し:
結果:
注意:
プライベート変数にアクセスすると例外が放出されます!
public class Phone {
int size = 15;
public float price = 2111.2f;
protected boolean good = true;
// private String brand = "iphone";
}
呼び出し:
import java.lang.reflect.Field;
public class Test {
public static void main(String[] args) throws Exception{
Phone p = new Phone();
Class c = p.getClass();
Field[] declaredFields = c.getDeclaredFields();
//
for(int i = 0; i < declaredFields.length; i++) {
//
Field field = declaredFields[i];
//
System.out.print(" :" + field.getName()+"\t");
//
Class fieldType = field.getType();
System.out.println(" :" + fieldType);
// field
System.out.println(" \t"+field.get(p));
}
}
}
結果:
:size :int
15
:price :float
2111.2
:good :boolean
true
注意:
プライベート変数にアクセスすると例外が放出されます!