reflect 系列测试代码

package com.zjx.reflect.fifth;

import java.lang.reflect.Field;

/**
 * 与先前两个动作相比,“变更field内容”轻松多了,因为它不需要参数和自变量。
 * 首先调用Class的getField()并指定field名称。
 * 获得特定的Field object之后便可直接调用Field的get()和set()。
 * 
 * @author Xian-JZ
 *
 */
public class RefFiled {
	
    public double x;
    public Double y;
 
    public static void main(String args[]) throws NoSuchFieldException, IllegalAccessException {
        Class c = RefFiled.class;
        Field xf = c.getField("x");
        Field yf = c.getField("y");
 
        RefFiled obj = new RefFiled();
 
        System.out.println("变更前x=" + xf.get(obj));
        //变更成员x值
        xf.set(obj, 1.1);
        System.out.println("变更后x=" + xf.get(obj));
 
        System.out.println("变更前y=" + yf.get(obj));
        //变更成员y值
        yf.set(obj, 2.1);
        System.out.println("变更后y=" + yf.get(obj));
    }
}

 

你可能感兴趣的:(C++,c,C#)