java中的字符串[]的意义是什么?[英] What's the point of String[] args in Java?

问题描述

每当您在类中声明主要方法时,您总是必须执行一个称为" args"的数组.重点是什么?除非我住在岩石下,否则几乎不再使用Java中的命令行Agruments.当我尝试运行这个...

//this program won't compile
public class SomeClass {
    public static void main(){
        System.out.println("This text will never be displayed :(");
    }
}

输出以红色文本显示:

错误:在类Someclass中找不到的主要方法,请将主要方法定义为:
公共静态void main(string [] args)

i,新手Java程序员,如果有人告诉我为什么需要需要将该参数输入主要方法.

推荐答案

,因为这是执行Java类时称为主方法的签名.需要有一些惯例将执行哪种方法.按照惯例是

public static void main(String[] args) method

是的,您确实生活在岩石下,当使用命令行参数时,有很多情况.为什么不使用它们?

您可以问:为什么需要它?为什么不选择其他主要方法?答案是,它将以0益处添加复杂性.与现在一样,主函数看起来很独特.如果您看一下,您知道它会被调用.如果要打电话给任何主要,您必须总是问自己:我是在看要被调用的主要内容,还是在此类中有另一个主要的主管?

?

其他推荐答案

简短答案:因为那是Java的方式.

命令行参数一直使用,但是由于启动器脚本或由于程序在服务器上运行等,您并不总是看到它们.

.

也就是说,大量时间命令行参数为-D品种,在达到main之前被JVM吞噬.但这取决于您在做什么.

其他推荐答案

因为

  1. 命令行参数 仍然使用,即使 许多 UI程序(您知道 Microsoft Outlook支持一些非常方便的命令行参数?)*;和:
  2. 这就是Java工作的方式(TM).除其他事项外,它降低了代码的复杂性(通过不称呼多种形式和可能的意外阴影)和运行时(不需要找出"哪个主要"来调用).允许没有" args"的次要形式只是添加了太少.

快乐的编码...


*是的,Outlook不是Java.但是,如果Outlook有命令行论证,那么它们仍然值得一些 - 这是一个夸张; - )

几乎所有处理打开读取文件的UI程序都将允许指定通过命令行参数打开的文件(gimp,记事本,firefox,命名其他一些文件).除其他外,这是允许在Windows Explorer中的项目和类似项目上与"双击要打开".

.

本文地址:https://www.itbaoku.cn/post/978500.html