【发布时间】:2015-06-16 16:51:39
【问题描述】:
我理解为什么使用 public static void main,我也知道 String[] args 创建了一个名为 args 的一维数组,其中包含字符串。但是为什么我们必须在括号中加上这个呢?
【问题讨论】:
-
这个问题最好由 Java 初学者书籍回答,他们可以更深入地介绍这类问题。
我理解为什么使用 public static void main,我也知道 String[] args 创建了一个名为 args 的一维数组,其中包含字符串。但是为什么我们必须在括号中加上这个呢?
【问题讨论】:
String[] args 是提供所有可能从命令行传递给程序的参数。例如,您想要一个文件路径作为 main 的参数,您可以使用命令行键入它,它将作为数组中的第一个元素传递。它允许您在运行 main 时不传递任何内容或传递许多内容。
【讨论】:
Java 语言规定main 方法必须只采用一个String[] 类型的参数。它可以命名为您想要的任何有效标识符;它只是一个约定,它被命名为args。它甚至可以是String...。这是来自JLS, Section 12.1.4的规范:
方法
main必须声明为public、static和void。它必须指定一个声明类型为String的数组的形式参数(第 8.4.1 节)。因此,可以接受以下任一声明:public static void main(String[] args) public static void main(String... args)
甚至可以
public static void main(String[] zzyzx)
但参数必须存在。
【讨论】: