Java 指定主方法接受的参数类型的目的是什么?
Java 指定主方法接受的参数类型的目的是什么?,java,oop,types,arguments,Java,Oop,Types,Arguments,publicstaticvoidmain(string[]args)是一个main方法,必须给它一个字符串数组作为参数 但是,当我运行一个程序时,main方法会自动运行,而无需使用参数显式调用它 因此,我有以下问题: 主方法的参数类型重要吗 是否存在使用参数显式调用main方法的情况?如果是,这种情况的例子是什么 当然,;JVM只自动调用main(String[])。它专门用于从命令行获取字符串参数 这只是另一种方法:虽然它几乎总是用作入口点,但没有任何技术理由不能像其他静态方法一样使用它。
publicstaticvoidmain(string[]args)
是一个main方法,必须给它一个字符串数组作为参数
但是,当我运行一个程序时,main方法会自动运行,而无需使用参数显式调用它
因此,我有以下问题:
- 主方法的参数类型重要吗李>
- 是否存在使用参数显式调用main方法的情况?如果是,这种情况的例子是什么
main(String[])
。它专门用于从命令行获取字符串参数publicstaticmain(String[]args)
作为一般Java应用程序的执行入口点。换句话说,这就是JVM将执行从它自己的内部加载和初始化例程转移到您自己的字节码的地方。除非您是在容器(如GlassFish)或框架(如JavaFX)内执行应用程序,否则您的代码需要有这个入口点。按照惯例,它是公共静态main(字符串…
)
是否存在明确调用main的情况
方法是否具有参数?如果是,这种情况的例子是什么
main(…)
的参数主要来自两个地方:
- 命令行。当您从shell或Windows
中的命令行启动Java应用程序时,您可以在要执行的JAR文件名后键入一些附加数据。这些附加数据被处理成一个字符串数组,并传递给cmd.exe
方法main()
- 配置设置。大多数IDE允许您为项目指定命令行参数。在该设置中,可以像在命令行中一样将参数传递给入口点(在生成和运行项目时)
正如Dave所提到的,您自己的代码不会调用
main(…)
方法本身。它实际上只是一个入口点。当我在命令行中键入java文件时,File
之后没有任何参数,我只是给main一个空字符串作为参数吗?打算从命令行执行的Java项目必须以这种方式构建,并在JAR文件中打包一个MANIFEST.INF文件。一旦构建为可执行文件,它就可以作为java-jar.jar
执行。在这种情况下,par
s将被处理成一个字符串数组,并传递给main(…)
方法。对不起。让我澄清一下。当我在命令提示符下键入java*File*
而在*File*
之后不带任何参数时,用于调用main方法的字符串是什么?它只是一个空字符串吗?@qaz它不是“字符串”,它是一个字符串数组。如果没有任何命令行参数,数组将不会有任何元素。这是超越琐碎的测试,顺便说一句。啊,是我的坏。我会记住自己会测试像这样容易测试的东西