A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



/*1、 写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.   

public void setProperty(Object obj, String propertyName, Object value){   

}

*/

package com.itheima;

import java.lang.reflect.*;

class Person1{
        private String name;
        private int age;
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }               
        public Person1(String name, int age) {
                //super();
                this.name = name;
                this.age = age;
        }      

        public String toString() {
                return "Person1 [name=" + name + ", age=" + age + "]";
        }

}
public class Test1 {
        public static void main(String args[])throws Exception{
                //创建一个对象
                Person1 p=new Person1("zhangsan",23);
                System.out.println(p.toString());
                //调用setProperty方法
                setProperty(p,"age",18);
                System.out.println(p.toString());
        }

        /*此方法可将obj对象中名为propertyName的属性的值设置为value.
         * */
        public static void setProperty(Object obj, String propertyName, Object value)throws Exception{   
                 //Field[] declaredFields = obj.getClass().getDeclaredFields(propertyName);

                        //通过反射获得相应字段
                        Field field=obj.getClass().getDeclaredField(propertyName);
                        //设置暴力反射
                        field.setAccessible(true);
                        //设置字段值
                        field.set(obj, value);

        }
}


13 个回复

正序浏览
新人路过,努力学习中
回复 使用道具 举报
这是属于反射的内容吗、?
回复 使用道具 举报
看看再说
回复 使用道具 举报
多谢分享
回复 使用道具 举报
好的,支持
回复 使用道具 举报
赞一下~!
回复 使用道具 举报
不错,先收藏了
回复 使用道具 举报
学习下................
回复 使用道具 举报
感谢楼主!!
回复 使用道具 举报
我也考到这道题了
回复 使用道具 举报
不错,学习了
回复 使用道具 举报
看下!!
回复 使用道具 举报
不错,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马