在Java中,类名应该是区分大小写的,所以Java应该不会有问题。 问题应该来自不区分大小写的文件系统,许多Linux不包括在内。
我在Linux上试过这个,我可以创建不同的名字相同,但大小写不同的类并使用它们。 因为我没有Windows机器,所以我无法测试Windows(或者其他任何操作系统)的工作方式(或者它是否可行),但是我不会鼓励像这样命名类。
你在说什么?
类名不是从文件名派生而是从文件内容 (即文件中出现的类名)派生而来。
文件系统或OS是否将文件名视为不区分大小写是不相关的。
你不能通过官方命名约定。 你必须使用CamelCase命名你的类,从一个大写字母开始。
在Linux中你可以做到这一点,但这是一个非常糟糕的主意。 你的结果代码/类不会是可移植的。
你会发现源代码管理工具,IDE的,其他操作系统,一些JVMs等问题。
例如:您可以为您的课程使用非英文(utf8)字符。 我似乎有西班牙名字的类(带有像,ñ,á,à等字符)。 不久或将来,这将是一个问题,因为并不是每个文件系统都使用utf8(有些使用ansi-like,ascii或其他)。 很长的名字也可能是麻烦的。 有些文件系统对名称长度有限制,如ISO-9660文件系统,某些FAT版本等。
留在安全的路上:)
为了后代的缘故,但是对于这个问题的Windows方面的答案是这样的: 单个Java文件中的多个类,每个都有一个主要方法 – 意外行为?