【问题标题】:Why do we usually start programs with public static void main('String[] args')? [duplicate]为什么我们通常用 public static void main('String[] args') 启动程序? [复制]
【发布时间】:2015-06-16 16:51:39
【问题描述】:

我理解为什么使用 public static void main,我也知道 String[] args 创建了一个名为 args 的一维数组,其中包含字符串。但是为什么我们必须在括号中加上这个呢?

【问题讨论】:

标签: java string public args


【解决方案1】:

String[] args 是提供所有可能从命令行传递给程序的参数。例如,您想要一个文件路径作为 main 的参数,您可以使用命令行键入它,它将作为数组中的第一个元素传递。它允许您在运行 main 时不传递任何内容或传递许多内容。

【讨论】:

    【解决方案2】:

    Java 语言规定main 方法必须只采用一个String[] 类型的参数。它可以命名为您想要的任何有效标识符;它只是一个约定,它被命名为args。它甚至可以是String...。这是来自JLS, Section 12.1.4的规范:

    方法main 必须声明为publicstaticvoid。它必须指定一个声明类型为String 的数组的形式参数(第 8.4.1 节)。因此,可以接受以下任一声明:

    public static void main(String[] args)
    
    public static void main(String... args)
    

    甚至可以

    public static void main(String[] zzyzx)
    

    但参数必须存在。

    【讨论】:

    • 他问的是括号而不是参数。
    • @dvallejo “但是为什么我们必须在括号中加上这个?”中的“this”。指的是“一个名为 args 的包含字符串的一维数组”,这是问题中提到的最新内容,除非 OP 想通过将问题编辑得更清楚来澄清。
    猜你喜欢
    • 1970-01-01
    • 2016-05-22
    • 2019-11-23
    • 2018-11-12
    • 1970-01-01
    • 2012-08-10
    • 2012-08-27
    • 1970-01-01
    • 2015-05-30
    相关资源
    最近更新 更多