/* * 反射獲取成員變量,並修改值 * 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); } }