反射獲取成員變量,並修改值
阿新 • • 發佈:2017-12-28
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); } }
反射獲取成員變量,並修改值