Java有这样的功能吗? (即添加可用于多个包/文件/类的静态方法而不需要impor-6ren">
gpt4 book ai didi

java - Java 中的 "Module"功能?

转载 作者:行者123 更新时间:2023-11-29 07:18:04 27 4
gpt4 key购买 nike

在 Vb.net 中,我们有一个称为“模块”的东西,它提供了一个全局范围,模块中的静态函数在整个项目中可见。 p>

Java有这样的功能吗? (即添加可用于多个包/文件/类的静态方法不需要import .* )

好吧,我知道这是一个会引起很多争论的功能,但实际上这个线程的重点不是讨论这个功能。

最佳答案

从字面上回答,不,Java 中没有真正的“全局”。但是您不需要导入,尤其是 import .*

下面的代码说明了导入不是必需的,但这只是答案的一部分。

package org.example.pkg.foo;
public class Foo {
public static void doSomething();
}

package org.example.pkg.bar;
public class Bar {
public void bar() {
org.example.pkg.foo.Foo.doSomething();
}
}

在 Java 中,类和接口(interface)等类型是根据加载它们的 ClassLoader 定义的。您可以有多个类加载器,这意味着可以加载同一类的多个副本。其明显的扩展是可以加载具有相同限定名称(包 + 类)的多个类,并且没有内在要求它们是相关的。

OSGi 就是一个例子,其中每个 bundle 都有自己的类加载器,因此您可以同时加载同一类的多个 version时间。

这与问题有什么关系?好吧,如果不准确识别您要引用的类,就不可能准确识别您要引用的方法或成员。导入或 FQN 引用就是这样做的。

关于java - Java 中的 "Module"功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7807629/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com