反射-通过反射写一个通用的设置某个对象的某个属性为指定的值

来源:互联网 发布:电脑microsoft windows 编辑:程序博客网 时间:2024/05/20 16:41
package cn.itcast.test;import java.lang.reflect.Field;public class Tool {public void setProperty(Object obj, String propertyName, Object value)throws NoSuchFieldException, SecurityException,IllegalArgumentException, IllegalAccessException {// 根据对象获取字节码文件对象Class c = obj.getClass();// 获取该对象的propertyName成员变量Field field = c.getDeclaredField(propertyName);// 取消访问检查field.setAccessible(true);// 给对象的成员变量赋值为指定的值field.set(obj, value);}}
package cn.itcast.test;public class ToolDemo {public static void main(String[] args) throws NoSuchFieldException,SecurityException, IllegalArgumentException, IllegalAccessException {Person p = new Person();Tool t = new Tool();t.setProperty(p, "name", "林青霞");t.setProperty(p, "age", 27);System.out.println(p);System.out.println("-----------");Dog d = new Dog();t.setProperty(d, "sex", '雄');t.setProperty(d, "price", 12.34f);System.out.println(d);}}class Dog {char sex;float price;@Overridepublic String toString() {return sex + "---" + price;}}class Person {private String name;public int age;@Overridepublic String toString() {return name + "---" + age;}}

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 扣扣忘记了密码怎么办 qq钱包发不出来怎么办 qq支付密码忘了怎么办? 扣扣上转账错了怎么办 qq绑卡存在异常怎么办 微信没绑银行卡忘记支付密码怎么办 微信的自动扣费怎么办 不小心把钱充到微信财付通该怎么办 财付通用什么充值卡充值话费怎么办 苹果手机灯坏了怎么办 手机电灯不亮了怎么办? 苹果手机相机坏了怎么办 苹果5s手机背光灯不亮怎么办 苹果5s灯控坏了怎么办 微信q币冲错号码怎么办 支付宝转账到之前号码怎么办 qq红包收不了钱怎么办 qq抢红包要实名认证怎么办 支付宝被骗冲q币怎么办 qq发红包发错了怎么办 qq红包发不出来怎么办 qq红包发多了怎么办 qq发红包要短信验证怎么办 不是qq好友发了红包怎么办 苹果手机升级后支付宝打不开怎么办 qqq币充了没进帐怎么办 怎么办q币换成qq余额 支付宝qb冲多了怎么办 微信没钱怎么办怎么赚 忘记微信支付密码怎么办 手机设备注册达上限怎么办 在新手机上登微信需要验证怎么办 手机号被限制注册qq号怎么办 手机互换了微信怎么办 微信申诉只有一位好友怎么办 微信申诉没有好友怎么办 四川电信多余的话费怎么办 四川电信话费多了怎么办 固话冲q币要密码怎么办 手机卡怎么突然没了怎么办 联通话费冲错了怎么办