相关疑难解决方法(0)

是否可以通过反射调用私有属性或方法

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

Class class = home.Student.class;
Field field = studentClass.getDeclaredField("nstance");
Object obj = field.get(null);
Run Code Online (Sandbox Code Playgroud)

我得到的例外是:

java.lang.IllegalAccessException: Class com.test.ReflectionTest can not access a member of class home.Student with modifiers "private static".
Run Code Online (Sandbox Code Playgroud)

此外,我需要使用以下代码调用私有.

Method method = studentClass.getMethod("addMarks");
method.invoke(studentClass.newInstance(), 1);
Run Code Online (Sandbox Code Playgroud)

但问题是Student类是单例类,而构造函数是私有的,无法访问.

java reflection

40
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×1

reflection ×1