您的位置:首页 > 其它

反射学习3-通过反射机制修改类中的私有属性的值

2016-02-05 10:39 281 查看
一、准备知识:

Java反射机制以及域的获取与设置的相关方法

二、实现步骤:

1、首先创建一个类包含一个私有属性:

class PrivateField{

private
String username = "Jason";

}

2、通过反射机制修改username的值:

//创建一个类的对象

PrivateField privateField = new PrivateField();

//获取对象的Class

Class<?> classType =
privateField.getClass();

//获取指定名字的私有域

Field field = classType.getDeclaredField("username");

//设置压制访问类型检查,只有这样,才能获取和设置某个具体类的Field对应的值。

field.setAccessible(true);

System.out.println(field.get(privateField));

//设置私有域的值

field.set(privateField, "arthinking");

System.out.println(field.get(privateField));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: