我理解为什么使用公共静态 void main,我也知道 String[] args 创建了一个称为 args 的一维数组,其中包含字符串。但是为什么我们必须在括号中加上这个呢?
String[] args
是提供可能从命令行传递到程序的所有参数。例如,假设您想要一个文件路径作为 main 的参数,您可以使用命令行键入它,它会将其作为数组中的第一个元素传递。它允许您在运行main
时不传递任何内容或许多内容。
Java 语言指定 main
方法必须只采用一个类型 String[]
的参数。 它可以命名为您想要的任何有效标识符;这只是一个约定,它被命名为args
. 甚至可以String...
. 以下是 JLS 第 12.1.4 节中的规范:
方法
main
必须声明为public
、static
和void
。它必须指定一个形式参数 (§8.4.1),其声明的类型是String
数组。因此,以下任一声明都是可以接受的:public static void main(String[] args) public static void main(String... args)
它甚至可能是
public static void main(String[] zzyzx)
但参数必须存在。