我的github

想了很久也没有弄明白是什么原因导致了控制台输出了这个警告,后面在网上查了查资料,发现是这么一回事:在JDK 8之前(包括java8) ,Java允许通过反射机制访问所有的成员,这些成员的类型包括私有(private),公共(public),包(< package >)和受保护(protected)。JDK9新增的功能之一 —— 模块系统对反射的行为做出了一定的限制。 从JDK9开始,对于非公有的成员、成员方法和构造方法,模块不能通过反射直接去访问,但是JDK9提供了一个可选的修饰符open来声明一个开放模块,可以从一个开放模块中导出所有的包,以便在运行时对该模块中的所有包中的所有类型进行深层反射来访问。

参考:https://blog.csdn.net/m0_61682705/article/details/124491300

posted on 2024-03-15 16:48  XiaoNiuFeiTian  阅读(178)  评论(0编辑  收藏  举报