gpt4 book ai didi

java - 是否可以通过反射调用私有(private)属性或方法

转载 作者:IT老高 更新时间:2023-10-28 20:46:17 27 4
gpt4 key购买 nike

我试图通过反射获取静态私有(private)属性的值,但失败并出现错误。

Class class = home.Student.class;
Field field = studentClass.getDeclaredField("nstance");
Object obj = field.get(null);

我得到的异常(exception)是:

java.lang.IllegalAccessException: Class com.test.ReflectionTest can not access a member of class home.Student with modifiers "private static".

此外,我需要调用一个私有(private)函数,代码如下。

Method method = studentClass.getMethod("addMarks");
method.invoke(studentClass.newInstance(), 1);

但问题是Student类是单例类,构造函数是私有(private)的,无法访问。

最佳答案

您可以设置可访问的字段:

field.setAccessible(true);

关于java - 是否可以通过反射调用私有(private)属性或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6911427/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com