1.14 为什么Java中的文件名与公共类名相同?| Java Debug 笔记

本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看 活动链接

Debug 笔记
<为什么Java中的文件名与公共类名相同?>

提问

Java中,文件名应与该文件中public class包含的文件名相同。

为什么这是一个限制?它有什么作用?

回答一:

Java有一个有趣的方法:如果给程序员一个选择只会降低编程体验,那么就去掉这个选择。

他们在很多地方都这样做。可以肯定的是文件名和软件包,但也不允许一个文件中有多个公共类(从来没有),不允许您在文件之间拆分类(该死的很难使用!),等等。

我真的希望他们能走得更远。没有公共变量的理由:我从不需要一个变量,也从未见过一个聪明的程序员认为需要一个变量并且实际上是正确的情况。

我也不介意看到方法/类的大小限制,但是这可能会很粗略(可以很容易地由代码检查器实现,问题通常是,需要最大帮助的公司就是那些不知道需要帮助的公司帮助,因此,请勿使用代码检查器之类的工具)。

这对大多数小型团队而言并不重要,但是当您的团队发展壮大并拥有来自印度,中国和世界其他各地顾问的多个站点时,您就会开始意识到这种灵活性。

回答二:

我正要说,这只是必须的。但是我看了JLS,它并不那么严格。从JLS的角度来看,由编译器选择是否设置这种限制。

实际上来说-普通的编译器确实具有该限制,并且,正如其他已经解释的那样,对于编译器来说,找到一个编译单元或让类加载器更容易找到具有这种限制的类文件要容易得多。

回答三:

更具体地说,文件名应该与该文件中的公共类名称具有相同的名称,

这是一种告诉JVM这就是您的切入点的方式。

文章翻译自Stack Overflow :stackoverflow.com/questions/2…

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享