gpt4 book ai didi

java - 为什么 Java 主方法即使没有使用,也会采用 "String[] args"参数?

转载 作者:行者123 更新时间:2023-11-30 07:35:12 26 4
gpt4 key购买 nike

我用 Ruby 和 C++ 编写了一些代码,但在 Java 中我不明白 main 方法的 String[] args 参数的作用。

许多简单的 Java('hello world')示例或多或少像这样:

public class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

根据我对其他语言语法的了解,args 将用于将命令行参数传递给程序。但是,这些简单的示例没有使用命令行参数。

那么,为什么在不使用 args 参数的情况下需要它呢?

最佳答案

因为这不是动态语言;参数的数量和类型是方法签名的一部分,以下所有都是不同的方法:

public static void main(String[] args)
public static void main(Object[] args)
public static void main()
public static void main(Collection<String> args)
public static void main(List<String> args)
public static void main(String[] args, String other)
public static void main(String other, String[] args)

现在,在运行时,将调用正确的方法来实现编译期间确定的最具体的类型参数。 (注意:这不包括参数名称)。

这有一个副作用,即主方法必须具有适用于所有情况的特定签名。当您在没有参数的情况下运行时,args 数组仍然存在,但长度为零。如果您的程序不接受参数,您可以完全忽略 args 参数。

关于java - 为什么 Java 主方法即使没有使用,也会采用 "String[] args"参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35492158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com