概述
我们都知道如果一个变量用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 反射获取私有变量值_java中通过反射强力获取私有变量的值的全部内容,希望文章能够帮你解决java 反射获取私有变量值_java中通过反射强力获取私有变量的值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复