【问题标题】:why it is necessary to have String args[] in main in java program [closed]为什么在java程序的main中必须有String args [] [关闭]
【发布时间】:2013-01-11 13:38:51
【问题描述】:

我只是想知道为什么在 main 方法中必须有 String args[]。

我知道它用于命令行参数,但是每次我们运行程序时,都不需要命令行。

提前感谢您的回答。

【问题讨论】:

  • 没有什么特别的原因,除了 Java 语言规范指定的方式。现在,为什么人们会这样设计它,你可以继续猜测,只要你想。 Stephen C 在我评论下方 Nuno 发布的链接中给出了很好的论据。
  • 只是一个愚蠢的问题:如果可以有不同的 main() 方法签名作为入​​口点,那么如果存在多个,JVM 究竟如何知道要运行哪个?跨度>
  • @ppeterka 总会有一些令人尴尬的复杂规则集,带有令人沮丧的边缘情况:)
  • @Marko 为什么会出现“由委员会设计”? :) 另外,应该有一条规则,不同的实现必须表现不同...

标签: java


【解决方案1】:

这是在Java specification 中指定的。

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

public static void main(String[] args)

public static void main(String...args)

如果没有给出参数,则数组为空。

【讨论】:

    【解决方案2】:

    您可以根据 Java 规范将它用于命令行参数。您还可以使用:

    public static void main(String... args)
    

    它被称为可变参数表示法,意味着可以有零个或多个参数。

    【讨论】:

      猜你喜欢
      • 2016-01-31
      • 2014-02-22
      • 2013-06-03
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 2013-12-11
      • 2011-08-25
      相关资源
      最近更新 更多