假设我有一个名为 Main.java
的文件,其中包含以下代码:
public class Main {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
它是否放在一个特定的包中,在(也许?)一个未命名的包中?
原文由 devoured elysium 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设我有一个名为 Main.java
的文件,其中包含以下代码:
public class Main {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
它是否放在一个特定的包中,在(也许?)一个未命名的包中?
原文由 devoured elysium 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java 没有命名空间,它有包。是的,没有包声明的类是隐含的“ 未命名包”的一部分,通常也称为“默认包”。但是,由于不可能从未命名的包中导入类,并且由于语言规范明确允许实现对未命名包中的类是否以及如何相互可见有不同的规则,因此将所有类放在命名中通常是个好主意包除了实验代码。
原文由 Michael Borgwardt 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答745 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
不在命名包中的类在 未命名包 中。因此完整的类名是
Main
。除非通过反射,否则不能从命名包中 使用 此类类。
JLS 说: