1.反射获取Student类中的name和school属性,将实例化的student对象的名字设置为李四,school设置为清华大学
时间: 2024-03-03 21:48:42 浏览: 99
好的,那么针对这个问题,我可以给出以下代码实现:
```
package step2;
import java.lang.reflect.Field;
public class ReflectFieldEdit {
public static void main(String[] args) {
Student student = null;
// ---------------------Begin------------------------
try {
Class<?> clazz = Class.forName("step2.Student");
student = (Student) clazz.newInstance();
Field nameField = clazz.getDeclaredField("name");
Field schoolField = clazz.getDeclaredField("school");
nameField.setAccessible(true);
schoolField.setAccessible(true);
nameField.set(student, "李四");
schoolField.set(student, "清华大学");
} catch (Exception e) {
e.printStackTrace();
}
// ---------------------End------------------------
System.out.println(student);
}
}
```
这个程序首先使用反射获取了 `Student` 类的对象,然后通过反射获取了 `name` 和 `school` 两个属性的对象,将其设置为可访问状态,然后使用 `set()` 方法将 `name` 和 `school` 属性值分别设置为 "李四" 和 "清华大学"。最后将设置好属性值的 `Student` 对象输出。
阅读全文