首页 > Java > java教程 > 如何从 Java 的命名包访问 Groovy 的默认包类?

如何从 Java 的命名包访问 Groovy 的默认包类?

Barbara Streisand
发布: 2024-12-23 12:00:20
原创
854 人浏览过

How Can I Access Groovy's Default Package Classes from Java's Named Packages?

访问默认包中的 Java 类

在像 Grails 这样的协作项目中,开发人员可能会遇到需要访问在 Groovy 中创建的对象的情况来自命名包中的 Java 类的默认包。然而,由于 Java 打包的基本规则,这可能会带来挑战。

根据 Java 编程原理,默认包中的类不能直接从命名包访问。在 Java 2 标准版 (J2SE) 1.4 之前,允许使用导入语法(例如“import Unfinished;”)来导入默认包类。这种做法不再被允许。

要克服此限制,有两种选择。一种方法是通过将默认包类移动到命名包中来重构它。这涉及到在类文件的开头添加一个“package”指令,指定所需的包名称。

或者,如果可以访问由 Groovy 生成的源代码,则可以使用后处理来移动将默认包类放入其自己的专用包中,并添加适当的“package”指令。

需要注意的是,Java 虚拟机 (JVM) 严格禁止从未命名(默认)包,如 Java 开发工具包 (JDK) bug 6975015 中所述,特别是对于 JDK7 和 JDK8。

因此,要从命名包访问默认包类,有必要重新定位默认包类放入命名包中。

以上是如何从 Java 的命名包访问 Groovy 的默认包类?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板