java setaccessible_对于setAccessible方法的理解

java setaccessible_对于setAccessible方法的理解在 Java 中可以通过反射进行获取实体类中的字段值 当未设置 Field 的 setAccessibl 方法为 true 时 会在调用的时候进行访问安全检查 会抛出 IllegalAcces 异常 org junit Testpublicvo throwsIllega Peoplepeople newPeople Clas

在Java中可以通过反射进行获取实体类中的字段值,当未设置Field的setAccessible方法为true时,会在调用的时候进行访问安全检查,会抛出IllegalAccessException异常。

@org.junit.Test

public void test2() throws IllegalAccessException {

People people = new People();

Class extends People> aClass = people.getClass();

people.setName(“sherlock”);

people.setAge(18);

Field[] declaredFields = aClass.getDeclaredFields();

for (Field field : declaredFields) {

// field.setAccessible(true);

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

}

}

7acbca7127d8

不使用setAccessible方法.png

使用 setAccessible() 可以临时改变访问权限,就可以获取私有成员变量的值。

@org.junit.Test

public void test2() throws IllegalAccessException {

People people = new People();

Class extends People> aClass = people.getClass();

people.setName(“sherlock”);

people.setAge(18);

Field[] declaredFields = aClass.getDeclaredFields();

for (Field field : declaredFields) {

field.setAccessible(true);

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

}

}

7acbca7127d8

使用setAccessible方法.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210343.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:47
下一篇 2026年3月19日 上午7:47


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号