黑马程序员技术交流社区

标题: 写一方法修改Object对象的属性 [打印本页]

作者: liudh1    时间: 2016-4-22 08:48
标题: 写一方法修改Object对象的属性
package com.itheima;
import java.lang.reflect.Field;
/**
* 2、package com.itheima;
import java.lang.reflect.Field;
/**
* 2、写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.
*  public void setProperty(Object obj, String propertyName, Object value){}
*/
public class Test02 {

//可以通过反射对其属性值进行更改
public void setProperty(Object obj, String propertyName, Object value) throws Exception{
  //创建运行时对象
  Class<? extends Object> clazz =obj.getClass();
  //通过属性名字获取属性
  Field field = clazz.getDeclaredField(propertyName);
  //setAccessible(true)值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。
  field.setAccessible(true);
  //对属性值进行更改
  field.set(obj, value);
}
}

.
*  public void setProperty(Object obj, String propertyName, Object value){}
*/
public class Test02 {

//可以通过反射对其属性值进行更改
public void setProperty(Object obj, String propertyName, Object value) throws Exception{
  //创建运行时对象
  Class<? extends Object> clazz =obj.getClass();
  //通过属性名字获取属性
  Field field = clazz.getDeclaredField(propertyName);
  //setAccessible(true)值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。
  field.setAccessible(true);
  //对属性值进行更改
  field.set(obj, value);
}
}







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