1.定义一个类;
public class Study1 {
private Integer a=2;
private String b="3";
public Integer getA() {
return a;
}
public void setA(Integer a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
@Override
public String toString() {
return "Study1{" +
"a=" + a +
", b='" + b + '\'' +
'}';
}
}
2.在这个类中获取属性
public class StudyRe { public static Integer c; public static String d; public static void main(String[] args)throws Exception { Study1 study1 = new Study1(); Class<? extends Study1> aClass = study1.getClass(); //下面方法必须根据对象获取反射对象。 Field a = aClass.getDeclaredField("a"); //获取属性study1中的属性a Field b = aClass.getDeclaredField("b"); a.setAccessible(true);//设置a属性的访问权限,保证private属性的访问 b.setAccessible(true); a.set(study1,Integer.valueOf(23)); //给study1中的属性a赋值 String dd=Objects.toString(a.get(study1));//把对象转换成字符串 String s = Objects.toString(b.get(study1)); c = Integer.parseInt(dd);//解析字符串为integer对象,并赋值 d=s; System.out.println("a的值为"+ a.get(study1)); //输出study1中的属性a System.out.println("c的值为"+c); System.out.println("d的值为"+d); } }