继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java: jdk isnt specified for module

慕神8447489
关注TA
已关注
手记 1294
粉丝 174
获赞 957
Java模块化开发中完全限定名的使用

在Java编程语言中,模块化是一种重要的编程范式,可以帮助我们更好地组织和管理代码。在模块化的过程中,一个常见的问题是如何指定JVM模块的路径。最近,我在阅读一些相关资料时,发现了一个有趣的现象,即当我们在模块内部引用外部模块时,需要使用完全限定名(包括包名和类名)来指定对象。这一现象引发了我对外部模块和内部模块之间关系的思考。

完全限定名

在Java中,完全限定名是指包括包名和类名的名称,例如:com.example.MyClass。当我们需要引用这个名称时,就需要使用完全限定名。相比之下,简单的类名或包名只能引用到一部分信息,例如:com.example MyClass 或 com.example com.subpackage.MyClass。

为什么需要使用外部模块的完全限定名

在使用完全限定名时,我们需要使用外部模块的完全限定名是因为,在Java中,每个模块都有自己的命名空间,而完全限定名可以确保我们在引用外部模块时,不会意外地引用到其他模块中的同名类或包。这就像在使用计算机时,我们需要使用完整的地址来访问某个文件或文件夹,而不是只使用部分路径,以避免访问错误。

内部模块与外部模块的关系

当我们有一个内部模块A,它引用了外部模块B中的一个类时,我们是否需要使用外部模块B的完整限定名呢?答案是肯定的。因为,即使我们只需要访问内部模块A中的类,我们仍然需要使用外部模块B的完全限定名来指定对象。这是因为,在Java中,编译器会根据类的实际引用关系来确定最终的类加载顺序,而在这种情况下,我们需要确保外部模块B中的类在内部模块A中被正确地引用。

结论

总的来说,在使用Java模块化开发时,我们需要注意完全限定名的使用。尽管这可能会增加一些复杂性,但它可以帮助我们更好地管理代码,避免重复引用和访问错误。希望这篇博客能够帮助你更好地理解Java模块化开发中的这个问题。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP