一个 Java 文件中的多个类声明
在 Java 中,可以在同一个源文件中定义多个类。然而,这种做法有一些警告和限制。
缺乏该技术的具体名称
尽管这是一种常见的做法,但该技术没有具体的名称或正式名称,与其他类分类(例如内部类、嵌套类或匿名类)不同。
编译限制
虽然 Java 语言规范 (JLS) 规定系统可以强制限制引用其他编译单元中的非公共类,但此限制在 Java 编译器中并未一致实现。
Javac 的限制
具体来说,Javac 在编译类时可能会出现错误如果两个类都不是它们所在文件的同名文件,则引用另一个文件中的顶级类。此限制是由于编译器无法确定要为非公共类引用哪个源文件。
避免问题
为了避免此限制,开发人员通常遵循在每个源文件中放置单个顶级类的约定。这种做法还可以更灵活地更改类的访问级别,而不会影响编译过程。
较新的 Javac 功能
较新版本的 Javac 还会在以下情况下提供警告:遇到从源文件外部引用的辅助类,进一步鼓励每个文件使用单个顶级类。
以上是一个文件中可以存在多个 Java 类吗?这有什么影响?的详细内容。更多信息请关注PHP中文网其他相关文章!