【发布时间】:2021-05-14 21:55:39
【问题描述】:
我认为这听起来有点争议,但我必须访问一个受 package 访问器保护的构造函数......但是我在那个包之外,所以我使用反射来访问那个构造函数,就像这样:
Constructor<TargetClass> constructor = TargetClass.class.getDeclaredConstructor(SomeClass.class);
var manager = constructor.newInstance(new SomeClass());
但是当我运行它时,我得到:
java.lang.IllegalAccessException: class com.mypackage.Application cannot access a member of class com.someotherpackage.TargetClass with modifiers ""
有没有办法避免这种情况,或者有其他方法可以访问该构造函数?
【问题讨论】:
-
@user15793316 有时,出于某种原因,我忘记了文档的存在,像你这样的人应该把石头扔到我的头上啊哈哈非常感谢你,请考虑回答,以便我可以将其标记为正确,并给你一个大拇指
标签: java reflection constructor illegalaccessexception