Java通过反射机制修改类中的私有属性的值

定义一个含有私有属性的类

public class PrivateField { private String username = “鹏程万里”;}

实例测试方法

// 创建一个类的对象PrivateField privateField = new PrivateField();// 获取对象的ClassClass<?> clazz = privateField.getClass();// 获取指定名字的私有域Field field = clazz.getDeclaredField(“username”);// 设置压制访问类型检查,只有这样,才能获取和设置某个具体类的Field对应的值。// 参数为 true时 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查。// 如果为true是,能够正常运行,如果为false则会抛出异常信息:java.lang.IllegalAccessExceptionfield.setAccessible(true);System.out.println(field.get(privateField));// 设置私有域的值field.set(privateField, “2019”);// 输出被改变的属性值 System.out.println(field.get(privateField));}

输出结果

鹏程万里2019

【转自:韩国服务器 http://www.yidunidc.com 欢迎留下您的宝贵建议】想要成功,就一定要和成功的人在一起,不然反之

Java通过反射机制修改类中的私有属性的值

相关文章:

你感兴趣的文章:

标签云: