【发布时间】:2015-08-17 22:51:31
【问题描述】:
public static void main (string[] args) 是一个 main 方法,必须给定一个字符串数组作为参数。
但是,当我运行程序时,main 方法会自动运行,而无需我显式地使用参数调用它。
因此,我有以下问题:
- main 方法的参数类型是否重要?
- 是否存在显式调用带有参数的主方法的情况?如果是这样,这种情况的例子是什么?
【问题讨论】:
public static void main (string[] args) 是一个 main 方法,必须给定一个字符串数组作为参数。
但是,当我运行程序时,main 方法会自动运行,而无需我显式地使用参数调用它。
因此,我有以下问题:
【问题讨论】:
主方法的参数类型重要吗?
是的。 JVM 使用public static main(String[] args) 作为一般Java 应用程序的执行入口点。换句话说,这是 JVM 将把执行从它自己的内部加载和初始化例程移交给你自己的字节码的地方。除非您在容器(例如 GlassFish)或框架(例如 JavaFX)内执行应用程序,否则您的代码将需要此入口点。按照惯例,它是public static main(String...)。
是否存在显式调用 main 带参数的方法?如果是这样,这种情况的例子是什么?
main(...) 的参数主要来自两个地方:
命令行。当您从 shell 或 Windows cmd.exe 内的命令行启动 Java 应用程序时,您可以在要执行的 JAR 文件的名称后面输入一些附加数据。这些附加数据被处理成一个字符串数组,传递给您的main() 方法。
配置设置。大多数 IDE 允许您为项目指定命令行参数。您可以在此设置中将参数传递给入口点(在构建和运行项目时),就像在命令行中一样。
正如 Dave 所说,您自己的代码不会调用 main(...) 方法本身。它实际上只是作为入口点。
【讨论】:
java File 后 File 没有任何参数时,我只是给 main 一个空字符串作为参数吗?
java -jar <jar-file-name>.jar <par1 par2 ... parn> 执行。在这种情况下,pars 将被处理成一个 String 数组并传递给main(...) 方法。
main(String[])。它专门用于从命令行获取字符串参数。【讨论】:
java *File*,*File* 后面没有任何参数时,调用main 方法的字符串是什么?它只是一个空字符串吗?
在 Java 编程语言中,每个应用程序都必须包含一个 main 方法,其签名是:
public static void main(String[] args)
修饰符 public 和 static 可以按任意顺序编写(public static 或 static public),但约定是使用 public static,如上所示。您可以为参数命名任何您想要的名称,但大多数程序员选择“args”或“argv”。
main方法类似于C和C++中的main函数;它是您的应用程序的入口点,随后将调用您的程序所需的所有其他方法。
main 方法接受一个参数:String 类型的元素数组。
public static void main(String[] args)
此数组是运行时系统将信息传递给您的应用程序的机制。`
您可以阅读更多here 和主要的Java 文档,非常实用,是here。
关于你的第二个问题,是的,你可以这样做,但我不建议这样做。
【讨论】: