您的位置:首页 > 编程语言 > Java开发

JAVA反射——给属性赋值

2016-06-21 16:34 267 查看
使用反射的机制来给私有的属性赋值,这个原理在许多ORM的组件中都有应用,下面是一段掩饰代码

public class FieldTest {

public static void main(String[] args) throws Exception {

Class clazz = Class.forName("com.snowdi.reflection.Student");

Object obj = clazz.newInstance();//通过反射创建对象

 

// 调用getDeclaredField("name") 取得name属性对应的Field对象

Field f = clazz.getDeclaredField("name");

 

// 取消属性的访问权限控制,即使private属性也可以进行访问。

f.setAccessible(true);

 

// 调用get()方法取得对应属性值。

System.out.println(f.get(obj));  //相当于obj.getName();

 

// 调用set()方法给对应属性赋值。

f.set(obj, "lkl");  //相当于obj.setName("lkl");

 

// 调用get()方法取得对应属性修改后的值。

System.out.println(f.get(obj));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java反射机制