📜  Java中关于文件名和类名的神话(1)

📅  最后修改于: 2023-12-03 15:01:49.851000             🧑  作者: Mango

Java中关于文件名和类名的神话

在Java中,有一个广为流传的神话,就是文件名必须要和类名完全一致,否则程序就会出错。这个神话在很多初学者中广为传颂,但实际上是有很多例外情况的。下面来详细了解一下这个神话的真相。

文件名和类名的基本规则

在Java中,文件名必须要和公共类(public class)的类名完全一致,包括大小写,扩展名为.java。比如,类名为HelloWorld的类,在文件中的名称应该为HelloWorld.java。这是Java编译器默认的规则。

文件名和类名可以不完全一致

然而,实际上,文件名和类名可以不完全一致,但需要遵循以下规则:

  • 如果一个文件中只包含一个公共类,那么文件名必须和类名完全一致;
  • 如果一个文件中包含多个类,那么文件名可以任意命名,但公共类必须和文件名一致;
  • 如果一个文件中不包含公共类,那么文件名可以任意命名,但类名必须和文件名一致。
初学者常见的错误

由于对文件名和类名的规则理解不够清晰,导致了很多初学者在编写Java程序时常常犯错。以下是一些常见的错误:

  • 类名大小写写反:在文件中定义的类名HelloWorld和代码中定义的类名helloworld不一致;
  • 文件名和类名不一致:在文件中定义的类名为HelloWorld,但文件名为Hello.java;
  • 在一个文件中定义多个公共类:在一个文件中定义了两个公共类HelloWorld和Foo,但文件名只和一个公共类HelloWorld一致。
总结

Java中文件名和类名的关系确实有一定的规则,但并非必须完全一致。初学者应该尽早了解这些规则,避免犯错,并可以灵活运用这些规则编写更为优雅的代码。