public class buttoncla{
public int i;
public float f;
protected boolean b;
private String s;
}
/
import java.lang.reflect.Field;
public class MyException{
public static void main(String []args) {
buttoncla button=new buttoncla();
@SuppressWarnings("rawtypes")
Class buttonC=button.getClass();//获取类信息
Field []declaredFields=buttonC.getDeclaredFields();//获取button成员变量
for(int i=0;i<declaredFields.length;i++)//遍历成员变量
{
Field field=declaredFields[i];
System.out.println("名称为"+field.getName());//获取成员变量名称
@SuppressWarnings("rawtypes")
Class fieldType=field.getType();//成员变量类型
System.out.println("类型为:"+fieldType);
boolean isTum=true;
while(isTum)
{
try {
isTum=false;
System.out.println("修改前的值为:"+field.get(button));//获得成员变量的值
if(fieldType.equals(int.class)) {//判断成员变量是否为Int型
System.out.println("利用方法setlnt()修改成员变量的值");
field.setInt(button,168);
}
else if(fieldType.equals(float.class)) {
System.out.println("利用方法setfloat()修改成员变量的值");
field.setFloat(button,99.9F);
}
else if(fieldType.equals(boolean.class)) {
System.out.println("利用setBoolean()修改成员变量的值");
field.setBoolean(button,true);
}
else {
System.out.println("利用方法set()修改成员变量的值");
field.set(button,"MWQ");
}
System.out.println("修改后的值为:"+field.get(button));
}
catch(Exception e) {
System.out.println(declaredFields.length);
System.out.println("在设置成员变量时抛出异常,"+"下面执行setAccessible()方法!");
field.setAccessible(true);//设置为允许访问
isTum=true;
}
}
System.out.println();
}
}
}
public int i;
public float f;
protected boolean b;
private String s;
}
/
import java.lang.reflect.Field;
public class MyException{
public static void main(String []args) {
buttoncla button=new buttoncla();
@SuppressWarnings("rawtypes")
Class buttonC=button.getClass();//获取类信息
Field []declaredFields=buttonC.getDeclaredFields();//获取button成员变量
for(int i=0;i<declaredFields.length;i++)//遍历成员变量
{
Field field=declaredFields[i];
System.out.println("名称为"+field.getName());//获取成员变量名称
@SuppressWarnings("rawtypes")
Class fieldType=field.getType();//成员变量类型
System.out.println("类型为:"+fieldType);
boolean isTum=true;
while(isTum)
{
try {
isTum=false;
System.out.println("修改前的值为:"+field.get(button));//获得成员变量的值
if(fieldType.equals(int.class)) {//判断成员变量是否为Int型
System.out.println("利用方法setlnt()修改成员变量的值");
field.setInt(button,168);
}
else if(fieldType.equals(float.class)) {
System.out.println("利用方法setfloat()修改成员变量的值");
field.setFloat(button,99.9F);
}
else if(fieldType.equals(boolean.class)) {
System.out.println("利用setBoolean()修改成员变量的值");
field.setBoolean(button,true);
}
else {
System.out.println("利用方法set()修改成员变量的值");
field.set(button,"MWQ");
}
System.out.println("修改后的值为:"+field.get(button));
}
catch(Exception e) {
System.out.println(declaredFields.length);
System.out.println("在设置成员变量时抛出异常,"+"下面执行setAccessible()方法!");
field.setAccessible(true);//设置为允许访问
isTum=true;
}
}
System.out.println();
}
}
}