首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

施用反射访问属性值

2012-07-04 
使用反射访问属性值public class Student {private String name}?import java.lang.reflect.Constructor

使用反射访问属性值

public class Student {private String name;}

?

import java.lang.reflect.Constructor;import java.lang.reflect.Field;public class Test {public static void main(String[] args) throws Exception {String str_class = "Student";String str_field_1 = "name";//获取Student类的一个实例Class<?> class_1 = Class.forName(str_class);Constructor<?> constructor = class_1.getConstructor();Object obj = constructor.newInstance();//Field field1 = class_1.getField(str_field_1);//getField只能获取到public的域Field field1 = class_1.getDeclaredField(str_field_1);//getDeclaredField可以获取各种访问控制符的域//设置通过反射访问该Field时取消访问权限检查,如果不设置,无法通过下面的set方法为其赋值。field1.setAccessible(true);field1.set(obj, "张三");System.out.println(field1.get(obj));//输出结果:张三}}

?

热点排行