登录
首页 >  文章 >  java教程

Java 公共类命名规范与限制

时间:2026-04-02 14:00:37 382浏览 收藏

Java源文件对public类的命名和数量有着严格规范:一个文件最多只能定义一个public顶层类,且其名称必须与文件名(不含.java)完全一致、大小写敏感,否则编译失败;而文件中可自由包含多个非public类,甚至可在无public类时使用任意合法文件名;值得注意的是,main方法所在类无需public修饰,只要签名正确即可被JVM执行——这些看似细微的规则,实则深刻影响着代码的可编译性、跨平台兼容性与模块可见性,是每个Java开发者必须精准掌握的基础契约。

Java 源文件中 public 类名称限制规则

Java 源文件中,如果定义了 public 类,那么该类的名称必须与源文件名(不含 .java 扩展名)完全一致,且大小写敏感。

一个源文件最多只能有一个 public 类

Java 编译器强制要求:一个 .java 文件中,至多声明一个 public 类。若尝试写两个,编译时会报错:class XXX is public, should be declared in a file named XXX.java 或类似提示。

  • 可以有多个非 public 类(如 defaultprivate 内部类、protected 内部类等)
  • 但只有其中一个能用 public 修饰,且它必须是“顶层类”(非嵌套类)

文件名必须与 public 类名严格匹配

例如:

  • 类声明为 public class Calculator { ... } → 文件必须命名为 Calculator.java
  • 哪怕只差一个字母或大小写(如 calculator.javaCalculator2.java),编译都会失败
  • Windows/macOS 文件系统可能不区分大小写,但 Java 编译器仍会校验,因此跨平台开发时尤其要注意

没有 public 类时,文件名可任意(但需合法)

如果源文件中所有类都使用默认访问权限(即不加 public),则:

  • 文件名可以和任一内部类同名,也可以完全不同
  • 只要符合 Java 标识符规则(如不能以数字开头、不能含特殊符号等)即可
  • 但此时该文件无法被其他包通过 import 直接引用其类(因无 public 类对外可见)

main 方法不要求必须在 public 类中

只要类包含合法的 public static void main(String[] args) 方法,JVM 就能启动它——无论这个类是否为 public,也无论它是否与文件同名。

  • 例如:文件 App.java 中定义 class App { public static void main(...) {...} }(无 public 修饰),仍可通过 java App 运行
  • 但若该类是 public,就必须叫 App 且文件名为 App.java

今天关于《Java 公共类命名规范与限制》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>