创建类:
public class Example_01 {
int i;
public float f;
protected boolean b;
private String s;
}
测试类:
public class Text{
public static void main(String args[]){
Example_01 example = new Example_01();
Class exampleC = example.getClass();
Field[] declaredFields = exampleC.getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
Field field = declaredFields[i];
System.out.println("名称为: "+ field.getName());
Class fieldType = field.getType();
System.out.println("类型为: " + fieldType);
boolean isTurn = true;
while (isTurn) {
try {
isTurn = false;
System.out.println("修改前的值为:" + field.get(example));
if(fieldType.equals(int.class)){
System.out.println("利用方法 setInt()修改成员变量的值");
field.setInt(example, 168);
}else if(fieldType.equals(float.class)){
System.out.println("利用方法 setFloat()修改成员变量的值");
field.setFloat(example,99.9F);
}else if(fieldType.equals(boolean.class)){
System.out.println("利用方法 setBoolean()修改成员变量的值");
field.setBoolean(example,true);
}else{
System.out.println("利用方法set()修改成员变量的值");
field.set(example, "MWQ");
}
System.out.println("修改后的值: " + field.get(example));
} catch (Exception e) {
System.out.println("在设置成员变量值时抛出异常,下面执行 setAccessible()方法!");
field.setAccessible(true);
isTurn = true;
}
}
System.out.println();
}
}
}