黑马程序员技术交流社区

标题: 黑马入学考试题分享(考进黑马必备)二 [打印本页]

作者: 官珺伟    时间: 2014-4-26 07:31
标题: 黑马入学考试题分享(考进黑马必备)二


/*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);

        }
}



作者: 天山    时间: 2014-4-26 08:39
不错,学习了
作者: hi2hcs    时间: 2014-9-23 00:00
看下!!
作者: 孔威震666    时间: 2014-10-11 11:07
不错,学习了
作者: 马嘉    时间: 2014-10-16 12:50
我也考到这道题了

作者: 林兴才    时间: 2014-10-18 18:11
感谢楼主!!
作者: 要不得    时间: 2015-3-8 22:05
学习下................
作者: 李相斌    时间: 2015-4-4 08:07
不错,先收藏了
作者: 刘斌斌    时间: 2015-5-1 21:57
赞一下~!

作者: qingger    时间: 2015-7-2 00:30
好的,支持
作者: qihuan    时间: 2015-7-3 12:03
多谢分享
作者: 千山万水    时间: 2015-8-10 22:08
看看再说
作者: hiahia    时间: 2015-9-13 19:10
这是属于反射的内容吗、?
作者: dreamwork    时间: 2016-4-11 22:54
新人路过,努力学习中




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2