反射学习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));
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));
相关文章推荐
- 今天说一下 tablesample 这个东西
- Android带进度的圆形进度条
- 快学Scala练习题答案-第2章
- HDU 1086 You can Solve a Geometry Problem too
- View的一些小知识
- Item 7:当创建对象的时候,区分()和{}的使用
- python selenium --命令之文字范本匹配
- 反射学习2-通过反射机制动态获取属性的值模拟Struts的自动赋值
- swing入门教程(四) 附加的swing小部件(下)
- vim学习资源
- Spring4.0学习笔记009——AOP的配置(基于XML文件)
- 安卓四大组件总览
- Redis设计与实现
- 安卓四大组件总览
- .net c# 提交包含文件file 的form表单 获得文件的Stream流
- XCode项目配置可访问 非 https 接口的方法
- 反射学习1、反射机制的介绍和基本的API的使用
- iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求
- Java获取客户端真实IP地址
- JAVA工具类 UUID