首页 > 其他 > 详细

java中通过反射强力获取私有变量的值

时间:2014-03-09 20:10:11      阅读:527      评论:0      收藏:0      [点我收藏+]

  我们都知道如果一个变量用private声明,那么他们的变量将只能在自身的类中或类的对象使用,对于其他类是不可见的。现在我将通过反射访问私有变量。

 下面是一个私有变量的bean:

public class PrivateField {
	private String name = "qq";
	private String password = "qqpassword";
}

下面是得到私有变量的值:

package com.evan.exercise;

import java.lang.reflect.Field;

public class GetPrivateField {

	public static void main(String[] args) throws Exception {
		// /通过类的字节码得到该类中声明的所有属性,无论私有或公有
		Field fieldPassword = PrivateField.class.getDeclaredField("password");
		// 设置访问权限(这点对于有过android开发经验的可以说很熟悉)
		fieldPassword.setAccessible(true);

		// 得到私有的变量值
		PrivateField user = new PrivateField();
		Object password = fieldPassword.get(user);
		// 输出私有变量的值
		System.out.println(password.toString());//qqpassword
	}
}


java中通过反射强力获取私有变量的值,布布扣,bubuko.com

java中通过反射强力获取私有变量的值

原文:http://blog.csdn.net/zl544434558/article/details/20851491

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!