首页 > 解决方案 > java中主要方法中args与arg的区别?

问题描述

为什么

" 公共静态 void main(String[] arg) { "

工作而不是

“公共静态无效主要(字符串[]参数){”?

它与字符串数组有什么关系吗?

它究竟是如何工作的?使用“arg”而不是“args”可能会更有效吗?

标签: javaargsmain-method

解决方案


除了参数名称的正常差异之外,绝对没有区别(例如,您必须在方法主体中使用正确的名称)。该main方法的参数名称完全按照约定。完全可以这样写:

public static void main(String[] dontUseJavaUtilDate)

作为您的入口点的声明。

JLS 12.1.4使用Test

最后,在类的初始化完成后Test(在此期间可能发生了其他相应的加载、链接和初始化),调用Test的main方法。

方法 main 必须声明为 public、static 和 void。它必须指定一个声明类型为数组的形式参数(第 8.4.1 节)String

没有指定参数名称。

JVM 规范第 5.2 节的同上:

Java 虚拟机通过使用引导类加载器(第 5.3.1 节)创建一个初始类来启动,该类以依赖于实现的方式指定。Java 虚拟机然后链接初始类,对其进行初始化,并调用公共类方法 void main(String[])。调用此方法会驱动所有进一步的执行。执行构成主要方法的 Java 虚拟机指令可能会导致附加类和接口的链接(并因此创建),以及调用附加方法。


推荐阅读