概述
importjava.lang.reflect.Field;publicclassFieldTest {inti;publicfloatf;protectedbooleanb;privateString s;publicFieldTest()
{
i=0;
f=0.0f;
b=true;
s="";
}publicstaticvoidmain(String[] args){//进行类实例化:FieldTest fieldTest=newFieldTest();
Field[] declaredFields=FieldTest.class.getDeclaredFields();for(inti=0;i
Field field=declaredFields[i];
System.out.println("名称为:"+field.getName());
Class fieldType=field.getType();
System.out.println("类型为:"+field.getType());booleanisTurn=true;while(isTurn)
{try{
isTurn=false;
System.out.println("修改前的值为:"+field.get(fieldTest));if(fieldType.equals(int.class))
{
System.out.println("利用setInt()方法修改成员变量的值.");
field.setInt(fieldTest,124);
}elseif(fieldType.equals(float.class))
{
System.out.println("利用setFloat()方法修改成员变量的值.");
field.setFloat(fieldTest,9.9f);
}elseif(fieldType.equals(boolean.class))
{
System.out.println("利用setBoolean()方法修改成员变量的值.");
field.setBoolean(fieldTest,false);
}else{
System.out.println("利用set()方法修改成员变量的值.");
field.set(fieldTest,"NWQ");
}
System.out.println("修改后的值为:"+field.get(fieldTest));
}catch(Exception e)
{
System.out.println("在设置成员变量时发生异常,执行setAccessible()方法.");
field.setAccessible(true);
isTurn=true;
}
}
System.out.println("**************");
}
}
}
最后
以上就是清秀柠檬为你收集整理的java 反射机制 field_java反射机制Field的全部内容,希望文章能够帮你解决java 反射机制 field_java反射机制Field所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复