黑马程序员技术交流社区

标题: 写一个方法,此方法可将obj对象中名为propertyName的属性的 [打印本页]

作者: 小悠久    时间: 2014-1-10 21:43
标题: 写一个方法,此方法可将obj对象中名为propertyName的属性的
import java.lang.reflect.Field;

public class Test1 {
/**
   public void setProperty(Object obj, String propertyName, Object value){   
  }
  * @param args
  */

    private static String kind="dog";
public static void main(String[] args) {
  // TODO Auto-generated method stub
       Test1 a = new Test1();
       setProperty sp =new setProperty();
       //调用setProperty类中的方法,并将所要改变的值传递过去
       sp.setProperty(a, "kind", "dog");
       System.out.print("动物种类:"+Test1.kind);
}
}
class setProperty{
public void setProperty(Object obj, String propertyName, Object value)
{   
  try {
   //获得反射对象
   Field field = obj.getClass().getDeclaredField(propertyName);
   //设置可以访问变量
   field.setAccessible(true);
   //将kind由dog改变为cat
   field.set(obj,"cat");
  } catch (Exception e) {
   //改变失败则输出修改失败"修改失败"
   System.out.println("修改失败");
       }
    }
}


作者: 闺蜜配男友‘好    时间: 2014-1-10 21:51
ssssssssssssssssssssssssssssssssssssssssss




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