在我正在阅读SCJP资格的书中有一个声明,它说:
没有公共类的文件没有命名限制
这让我问,你为什么要这样做?
如果没有公共类,那么其他类如何导入和使用该文件呢?我能看到的唯一目的是文件本身是独立运行的,也可能是奇数,例如将整个应用程序放在一个文件中
Boz*_*zho 32
这对包私有类也有效.您可以在同一个包中使用package-private类.(在这种情况下,您不必导入它,因为它在同一个包中.)
例如,JapaneseImperialCalendar
该类是package-private,因为它仅用于Calendar.createCalendar(..)
- 它不是公共API的一部分.您不能直接实例化日历,但您仍然可以通过其界面使用它.对于通过类似方法获得的所有不可修改的集合也是如此Collections.unmodifiableList(..)
- 它们是包私有的.
所以.java
文件JapaneseImperialCalendar
可能是任意的.但是,建议不要偏离在类名后命名甚至包私有文件的既定做法.