类:
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
注意:
访问私有变量会抛出异常!