复制代码
public class FieldDemo {

    public static void main(String[] args)
        throws ClassNotFoundException, NoSuchFieldException, SecurityException, NoSuchMethodException,
        InvocationTargetException, InstantiationException, IllegalAccessException, IllegalArgumentException {
        // 获得ClassField对象
        Class clazz = Class.forName("reflect.Student");

        // 获得Field对象
        Field name = clazz.getField("name");
        // 赋值 void set(Object obj,Object value):给obj对象的成员变量赋值为value
        Constructor constructor = clazz.getConstructor();
        Student stu = (Student)constructor.newInstance();
        name.set(stu, "张三");
        System.out.println(stu);

        // 取值 Object get(Object obj):返回由该Field表示的字段在指定对象上的值
        Field money = clazz.getDeclaredField("money");
        // 私有成员变量,需要临时取消访问检查
        money.setAccessible(true);
        int m = (int)money.get(stu);
        System.out.println(m);

    }

}
复制代码
复制代码
public class Student {

    public String name;
    public int age;
    private int money = 100;

    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + ", money=" + money + "]";
    }

}
复制代码