反射实现对属性的get,set
这里使用了上一个students类。
- student.getDeclaredField(“name”)
- 获取到field后,通过set(对象,值)
- 这里有很重要的一步field.setAccessible(true),其作用是解除private的封装。
- 然后通过get就可以取得具体的值
Class<?> student=Class.forName("reflection.Student");
Object object=student.getDeclaredConstructor().newInstance();
Field field=student.getDeclaredField("name");
field.setAccessible(true);//解除private的封装
field.set(object,"张三");
System.out.println(field.get(object));