我是学习Java的新手。在Java中,每个源文件必须包含一个公共类,并且该源文件应具有与该公共类相同的名称。此外,任何源文件都不能包含两个公共类。为什么会有这个限制?
4
没有细节,这是Java设计方式的历史设计产物。最新设计的语言(如C#)与Java类似,但没有此限制。
—
gahooa
是不是要强制执行最佳做法?我以为这是唯一原因。在C#中,您在技术水平上没有此限制,但是如果文件名和类名不匹配或同一文件中有多个类,StyleCop仍会抱怨。Visual Studio还在大力鼓励类文件关系(请考虑为您创建文件的类图,或者重命名.cs文件时,Visual Studio也会询问您是否也要重构类的名称)。
—
阿森尼
在旧式编译语言中,链接器会找到所有引用和外部符号。但是Java没有链接-您可以在运行时加载jar。如果没有链接步骤,那么如果您知道要查找的文件名,尝试将类名映射到类路径中的位置会快得多。
—
Paul Tomblin,2012年
使用grep呢?
—
用户