在某种程度上可以用Eclipse为Java提供不同的文件名吗?

Har*_*der -1 java eclipse filenames classname

正如标题已经说过的那样,我想知道是否有可能在Eclipse中使用Eclipse为类提供不同的文件名?

编辑:我只想知道Eclipse是否可行.如果你不知道答案,请抵制回应的反应.

编辑2:我在这里得到什么样的回应真是太搞笑了.我想知道的是,是否有可能有一个具有不同文件名的类(我的意思是公共类)而没有别的.我认为这是提出这些问题的论坛,但我得到的第二个反应已经是一种侮辱.这是某种禁忌问题还是发生了什么?

Dec*_*eco 7

您的文件名应始终与您的班级名称,故事结尾相符.虽然JLS没有具体声明它必须完成,但是他们将其留给编译器的实现来做出决定.我很确定大多数(如果不是全部)都不允许你与那个标准不同.

JLS声明:

当包存储在文件系统(第7.2.1节)中时,如果在由类型名称加上名称的文件中找不到类型,主机系统可以选择强制执行编译时错误的限制.如果满足以下任一条件,则为扩展名(例如.java或.jav):

  • 该类型由声明类型的包的其他编译单元中的代码引用.
  • 该类型被声明为public(因此可以从其他包中的代码访问).

这种限制意味着每个编译单元最多只能有一个这样的类型.这种限制使得Java编程语言的编译器或Java虚拟机的实现很容易在包中找到命名类; 例如,公共类型wet.sprocket.Toad的源代码可以在wet/sprocket目录中的Toad.java文件中找到,相应的目标代码可以在同一目录中的Toad.class文件中找到.

因此,虽然您可以在eclipse或文件系统中重命名文件本身 - 但您很可能会遇到编译错误.