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


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM