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方法的情况?如果是,这种情况的例子是什么
  • 当然,;JVM只自动调用
    main(String[])
    。它专门用于从命令行获取字符串参数
  • 这只是另一种方法:虽然它几乎总是用作入口点,但没有任何技术理由不能像其他静态方法一样使用它。我不会,因为这是一种非典型的、非交际性的行为
  • 在Java编程语言中,每个应用程序必须包含一个主方法,其签名为:

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

    修改器public和static可以按任意顺序编写(publicstatic或staticpublic),但约定使用publicstatic,如上所示。您可以随意命名参数,但大多数程序员选择“args”或“argv”

    <>主要方法与C和C++的主要功能相似;它是应用程序的入口点,随后将调用程序所需的所有其他方法

    main方法接受一个参数:String类型的元素数组

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

    此数组是运行时系统将信息传递给应用程序的机制`

    您可以阅读更多的内容,主要的Java文档非常实用

    还有你的第二个问题,是的,你可以,但我不建议

    主方法的参数类型重要吗

    对。JVM使用
    publicstaticmain(String[]args)
    作为一般Java应用程序的执行入口点。换句话说,这就是JVM将执行从它自己的内部加载和初始化例程转移到您自己的字节码的地方。除非您是在容器(如GlassFish)或框架(如JavaFX)内执行应用程序,否则您的代码需要有这个入口点。按照惯例,它是
    公共静态main(字符串…

    是否存在明确调用main的情况 方法是否具有参数?如果是,这种情况的例子是什么

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

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

    • 配置设置。大多数IDE允许您为项目指定命令行参数。在该设置中,可以像在命令行中一样将参数传递给入口点(在生成和运行项目时)


    正如Dave所提到的,您自己的代码不会调用
    main(…)
    方法本身。它实际上只是一个入口点。

    当我在命令行中键入
    java文件时,
    File
    之后没有任何参数,我只是给main一个空字符串作为参数吗?打算从命令行执行的Java项目必须以这种方式构建,并在JAR文件中打包一个MANIFEST.INF文件。一旦构建为可执行文件,它就可以作为
    java-jar.jar
    执行。在这种情况下,
    par
    s将被处理成一个字符串数组,并传递给
    main(…)
    方法。对不起。让我澄清一下。当我在命令提示符下键入
    java*File*
    而在
    *File*
    之后不带任何参数时,用于调用main方法的字符串是什么?它只是一个空字符串吗?@qaz它不是“字符串”,它是一个字符串数组。如果没有任何命令行参数,数组将不会有任何元素。这是超越琐碎的测试,顺便说一句。啊,是我的坏。我会记住自己会测试像这样容易测试的东西