非法反射访问
在 Java 9 中,非法反射访问是指以违反增强封装原则的方式使用反射 API 的情况由模块系统引入。当一个模块中的代码在未经适当授权的情况下尝试访问另一模块中类的私有或受保护成员时,可能会发生这种情况。
非法反射访问的定义
非法反射访问被定义为任何反射操作:
触发情况
在以下情况下会触发非法反射访问:
模块系统和宽松封装
Java 9 引入了宽松强封装规则,允许某些有限形式的反射访问。具体来说,它允许模块的运行时系统打开模块中的包以在未命名模块中进行编码(即类路径上的代码)。如果使用此选项调用运行时系统,并且成功地使用反射,否则会失败,则发生“非法”反射访问。
警告消息
发生非法反射访问时,会发出以下格式的警告消息:
警告:非法反射$PERPETRATOR 访问 $VICTIM
,其中:
以上是Java 9 中的非法反射访问是什么以及它是如何表现的?的详细内容。更多信息请关注PHP中文网其他相关文章!