Java:点子目录

标签 java

首先:我对 Java 并不完全熟悉,我知道的一些东西是我在玩 Java 的过程中学到的。

但是,我在几乎所有开源 Java 项目中都注意到了一些事情——使用大量子目录作为源代码,通常看起来像这样:

./src/main/java/com/somedomainname/projectname/sourcefile.java

现在,为什么有这么多子目录?域名是怎么回事?

最佳答案

域名用于包名 - 因此该文件将用于类

com.somedomainname.projectname.sourcefile

其中 com.somedomainname.projectname 是包。

通常,源文件组织反射(reflect)了包布局。普通的 Java 编译器实际上并不强制执行目录结构(尽管某些 IDE,例如 Eclipse 会在您将内容放在“错误的”目录中时报错),但它确实强制将公共(public)类放在一个文件中同名。非公共(public)类可以放在任何文件中,但通常文件名也与那里的类名匹配。这使得在没有任何先验知识的情况下导航到任何类(class)变得非常容易。

Java 语言规范并没有说编译器必须强制执行公共(public)类的约定;它明确表示它可以。参见 section 7.2 of the JLS了解更多详情。

关于Java:点子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936488/

相关文章:

java - Android Studio - 错误 :resource drawable/abc_ic_ab_back_mtrl_am_alpha (aka com. instacoin:drawable/abc_ic_ab_back_mtrl_am_alpha) not found

java - 当帧捕捉到屏幕左侧或右侧时具有事件的监听器

java - 创建同一个类的实例时,出现类的 noClassDefFoundError 错误。为什么会这样?

java - 错误 : Server Tomcat v7. 0 localhost 上的服务器无法启动。在部署 Spring-MVC 项目期间

java - 与 System.out 关联的 Java 线程的奇怪行为

java - 使用准备好的语句查询列表 (JDBC)

java - 在 Java 中将字符串集合复制到另一个字符串的时间复杂度

java - 实例化静态嵌套类而不限定封闭类

java - 有没有办法在Java类中使用gradle变量

Java JNI : Creating a Swing Window using JNI from C