java - 指定 main 方法接受的参数类型的目的是什么?

标签 java oop types arguments

public static void main (string[] args) 是一个 main 方法,必须为其提供一个字符串数组作为参数。

但是,当我运行程序时,main 方法会自动运行,而无需我使用参数显式调用它。

因此,我有以下问题:

  • 主方法的参数类型重要吗?
  • 是否存在需要使用参数显式调用 main 方法的情况?如果是这样,这种情况的例子是什么?

最佳答案

Does the type of argument of a main method matter?

是的。 JVM使用public static main(String[] args)作为一般Java应用程序的执行入口点。换句话说,JVM 会将执行从其自己的内部加载和初始化例程移交给您自己的字节码。除非您在容器(例如 GlassFish)或框架(例如 JavaFX)内执行应用程序,否则您的代码将需要这个入口点。按照惯例,它是 public static main(String...)

Are there situations in which one would explicitly call the main method with arguments? If so, what is an example of such a situation?

main(...) 的参数主要来自两个地方:

  • 命令行。当您从 shell 或 Windows cmd.exe 内的命令行启动 Java 应用程序时,您可以在要执行的 JAR 文件名称后面键入一些附加数据。这些附加数据被处理成一个字符串数组,并传递给您的 main() 方法。

  • 配置设置。大多数 IDE 允许您为项目指定命令行参数。您可以在此设置中将参数传递到入口点(当您构建并运行项目时),就像在命令行上一样。

正如 Dave 所提到的,您自己的代码不会调用 main(...) 方法本身。它确实只是作为入口点。

关于java - 指定 main 方法接受的参数类型的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32060964/

相关文章:

java - 某些设备上的 setBackgroundDrawable 错误

java - 如何设置启动画面

java - 我需要帮助错误 E/AndroidRuntime : FATAL EXCEPTION: main

java - 如何减少委托(delegate)样板?

sql-server - 如何减少因数据类型更改而增长的 SQL Server 表的大小

java - CompletableFuture 和异常(exception) - 这里缺少什么?

php - 实现接口(interface)问题

javascript - JS 应用程序自动刷新/元素消失编辑

java - 泛型方法中类类型参数的使用

javascript - R 中的 googleVis 数据类型转换似乎不起作用