English 中文(简体)
为什么要在 Java努力创造必要的动力?
原标题:Why is String[] args required in Java?
  • 时间:2009-11-04 06:57:35
  •  标签:

我的理解是,“努力”是一系列星体,作为参数被采纳。

java Print "Hello, World!"

请您再说一遍。

class Print {
  public static void main(String[] args) {
    System.out.println(args[0]);
  }
}

然而,当你不把它列为一个参数(即使你不使用)时,它就会放弃一个例外。 因此,为什么需要? 而且,它为什么会成为一种内心或ool?

最佳回答

由于指挥线在案文中表述,它具有强硬。 如果你想把这一案文变成 in或ole子,那么你必须做些什么——操作系统或 Java的trap子如何确切知道你想把什么都 par掉? 页: 1 寻找一种主要方法,其参数与指挥线论点相同,然后尝试使用<代码>加以规范。 Integer.parseInt等......,但这相当复杂,而且在许多情况下仍然不够。

至于强制性规定, Java设计师基本上决定坚持单一方法的签字,这种签字简单明了,不能允许其选择。 如果在C#中,你能够拥有任何东西,那将是可能的。

static void Main()
static void Main(string[] args)
static int Main()
static int Main(string[] args)

归根到底,这并没有带来许多不同,是诚实的。 在将参数包括在内方面,没有明显的下滑。

问题回答

Java的运行时间系统专门研究一个单一<代码> 规范[]类型参数的方法,因为该系统希望将参数通过<代码>main方法。 如果这种方法不存在,则通过例外通知你。

如果你想把(扼杀)指挥线参数作为惯犯或ole子处理,预计你会做转换。 这使你能够处理有些人进入<代码>“附件”的情况。

这说明措辞是如何设计的。 C++和C++都是以类似方式进行的,尽管有单独计算,但都包含在 Java阵列中的信息。

could/em>设计,用于接收愤怒或ole,但这会给 Java花更多的时间,从而可能没有什么好处。

各项努力可用于向主要方案(包括ger和ole)传递任何信息。 如果你想通过扼杀(使用者必须用人工方式将其编码为UTF-8或某种东西,而不会让人听懂语言)。

只是想宣布这一点。 无论如何,如果你希望(使其具有任择性或允许其他签字)的话,就提出更改要求,但我怀疑这不会太远。

它是一项公约。 这种方法由指挥线口译员使用,并评估其期望。 此外,汇编者还期望这一特定形式的签名,如果你忽略参数,例如,就赢得了汇编。

座标参数用于挽救指挥线论点,先是称号。 此外,如果你把主要方法称作主方法而不加以扼杀,那将只是一个超负荷的方法,而核查和核查机制不会说这种方法。 如果你能用这一签名的主要方法,JVER将放弃一个例外。

由于管理<代码>main()功能的代码非常具体地看着这一签名。 认为它具有:

YourClass.main(new String[] { ... });

显然,如果主要采取任何其他行动,就会失败。





相关问题
热门标签