码迷,mamicode.com
首页 > 其他好文 > 详细

使用反射设置对象的字段值

时间:2014-07-23 17:40:01      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:java   使用   io   for   re   c   

package com.sadhu;
import java.util.*;
import java.lang.reflect.*;
/**

*/
public class Sample
{
    public static void main(String[] args)throws Exception
    {
        Class cl = Class.forName("com.sadhu.ReflectTest");
        Object rt = cl.newInstance();//创建一个对象
        Field[] field = cl.getDeclaredFields();
        for(Field item : field)
        {
            item.setAccessible(true);//值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查。 
            if(item.getType() == String.class)
            {
                item.set(rt,"张三");
            }
            if(item.getType() == int.class)
            {
                item.set(rt,10);
            }
            System.out.println(item.get(rt));//输出当前字段在对象中的值是多少
        }

    }
}
class ReflectTest
{
    private String name;
    private int age;
    public void setName(String aName)
    {
        this.name = aName;
    }
    public String getName()
    {
        return this.name;
    }
    public void setAge(int aAge)
    {
        this.age = aAge;
    }
    public int getAge()
    {
        return this.age;
    }
    public ReflectTest()
    {
        System.out.println("调用无参数构造函数!");
    }
}
/**
输出结果:
调用无参数构造函数!
张三
10
*/


使用反射设置对象的字段值,布布扣,bubuko.com

使用反射设置对象的字段值

标签:java   使用   io   for   re   c   

原文地址:http://my.oschina.net/Sadhu/blog/294126

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!