主方法中args和arg的区别,java?

主方法中args和arg的区别,java?,java,args,main-method,Java,Args,Main Method,为什么 “公共静态void main(字符串[]arg){” 代替 “公共静态void main(字符串[]args){” 它是否与字符串数组有关 它到底是如何工作的? 使用“arg”而不是“args”可能会更有效一点吗?除了参数名称的正常差异之外,没有任何区别(例如,您必须在方法体中使用正确的名称)。方法的main参数名称完全按照约定。写入以下内容完全有效: publicstaticvoidmain(字符串[]dontUseJavaUtilDate) 作为您的入口点的声明 从中使用Test

为什么

“公共静态void main(字符串[]arg){”

代替

“公共静态void main(字符串[]args){”

它是否与字符串数组有关

它到底是如何工作的?
使用“arg”而不是“args”可能会更有效一点吗?

除了参数名称的正常差异之外,没有任何区别(例如,您必须在方法体中使用正确的名称)。方法的
main
参数名称完全按照约定。写入以下内容完全有效:

publicstaticvoidmain(字符串[]dontUseJavaUtilDate)
作为您的入口点的声明

从中使用
Test

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

main方法必须声明为public、static和void。它必须指定一个形式参数(§8.4.1),其声明类型为数组的
字符串

没有参数名称的规范

同上:

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


你说“为什么X比Y有效”是什么意思?为什么“Y”不适合你?为什么“arg”比“arg”更“有效”?如果有任何问题的话,它的效率会降低,因为名称现在表明它只是一个参数,而不再是一个参数数组,这会妨碍可读性,降低程序员的效率。您可以按照自己的意愿命名方法参数-Java根本不在乎。您只需确保您的入口点是
public
static
void
,称为
main
,并接受一个类型为
String[]
的参数。也就是说,只要您仍然满足该条件,就可以随意更改它。例如
static public void main(String…foo)
仍然有效。