反射: 通过 字节码文件 对应的对象 操作字节码文件中 的数据信息。
编程思想:
首先创建一个类:
里面有私有的属性,也就是private修饰,我们通过反射获取类里面的属性和方法。
说:现在又一个学生 ,成绩录入错误,现在通过反射,将成绩改过来。
反射是通过,class类里面的对象来获取属性。
public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, SecurityException, InstantiationException, IllegalAccessException {
// TODO Auto-generated method stub
Class<?> c = Class.forName("com.yaojun.day29.Student");
Field[] fs = c.getDeclaredFields();
System.out.println(fs);
for (Field field : fs) {
System.out.println(field.getName());
System.out.println(field.getType());
}
Field ff = c.getDeclaredField("score");
Object obj = c.newInstance();
ff.setAccessible(true);
ff.set(obj,89);
System.out.println(ff.get(obj));