Java主类的public static void main(String[] args)是JVM唯一认可的程序入口:public确保外部可访问,static允许无需实例化调用,void强制无返回值,String[] args接收非null的命令行参数数组。

Java主类中的 public static void main(String[] args) 是程序的入口方法,JVM 启动时会查找并调用它。它的每个部分都有明确的语义和约束,缺一不可。
public:必须是公开的访问权限
这是为了让 JVM 能够从外部(即类加载器和启动机制)直接访问该方法。如果改成 private、protected 或包私有(不写修饰符),JVM 就找不到入口,运行时会报错:“Error: Main method is not public”。
static:无需创建对象即可调用
JVM 在启动时不会先实例化主类,而是直接通过类名调用 main 方法。因此它必须是静态的。如果去掉 static,编译能通过,但运行时报错:“Error: Main method is not static”。
void:main 方法不返回任何值
JVM 不关心 main 方法的返回结果,只关注其执行过程。Java 规范强制要求返回类型为 void。若写成 int 或其他类型,编译失败,提示:“Main method must return type void”。
立即学习“Java免费学习笔记(深入)”;
String[] args:接收命令行参数的字符串数组
args 是一个字符串数组,用于保存程序启动时在命令行输入的参数(空格分隔)。例如执行:
java MyProgram hello 123 true
那么 args 的内容就是:{"hello", "123", "true"},长度为 3。
即使没传参数,args 也不会是 null,而是一个长度为 0 的空数组(args.length == 0),可安全使用。
常见用法包括:
- 用 args[0] 获取第一个参数(注意判空避免 ArrayIndexOutOfBoundsException)
- 用 for (String arg : args) 遍历所有参数
- 配合 Integer.parseInt()、Boolean.parseBoolean() 等做类型转换

















