1. 程式人生 > >反射獲取成員變量,並修改值

反射獲取成員變量,並修改值

except demo1 描述 所有 person 返回值 成員 方法 field

/*
 *  反射獲取成員變量,並修改值
 *  Person類中的成員String name
 */
public class ReflectDemo5 {
    public static void main(String[] args) throws Exception{
        Class c = Class.forName("cn.itcast.demo1.Person");
        Object obj = c.newInstance();
        //獲取成員變量 Class類的方法 getFields() class文件中的所有公共的成員變量
        
//返回值是Field[] Field類描述成員變量對象的類 /*Field[] fields = c.getFields(); for(Field f : fields){ System.out.println(f); }*/ //獲取指定的成員變量 String name //Class類的方法 Field getField(傳遞字符串類型的變量名) 獲取指定的成員變量 Field field = c.getField("name");
//Field類的方法 void set(Object obj, Object value) ,修改成員變量的值 //Object obj 必須有對象的支持, Object value 修改後的值 field.set(obj,"王五"); System.out.println(obj); } }

反射獲取成員變量,並修改值