对任意的一个Object实例,只要我们获取了它的Class,就可以获取它的一切信息。
我们先看看如何通过Class实例获取字段信息。Class类提供了以下几个方法来获取字段:
Field getField(name):根据字段名获取某个public的field(包括父类)
Field getDeclaredField(name):根据字段名获取当前类的某个field(不包括父类)
Field[] getFields():获取所有public的field(包括父类)
Field[] getDeclaredFields():获取当前类的所有field(不包括父类)
第三步:获取字段值
Field.get(Object obj)
字段名.get(想查看该字段值的那个对象)
代码实战
package test;
import com.sun.prism.impl.Disposer;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Arrays;
public class changeData {
public static void main(String[] args) {
try {
//预处理:准备两个 Student 实例对象
Student yiqi = new Student(“yiqi”);