原来对反射的认知一直有个误区,一直认为没有set方法不能进行反射,看来还是我太年轻,理解的比较肤浅,小看反射的功能,后面还需要继续学习
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
public class Blue {
private String cc;
public String getCc() {
return cc;
}
public static void main(String[] args) {
try {
Class<Blue> blueClass = Blue.class;
//获取默认提供的无参构造器
Constructor<Blue> constructor = blueClass.getConstructor();
//使用构造器创建对象
Blue blue = constructor.newInstance();
Field cc = blueClass.getDeclaredField("cc");
cc.setAccessible(true);
cc.set(blue,"王小子");
System.out.println("blue = " + blue.getCc());
} catch (Exception e) {
e.printStackTrace();
}
}
}