什么是main()和main(String args [])之间的区别

时间:2016-09-19 16:25:48

标签: java main

我是java中的一员。我用java很顺利。问题是当我们将java中的main函数声明为main(String args)时。我正在学习bluej。如果我只写main(),它工作正常。那么两者之间的区别是什么。

1 个答案:

答案 0 :(得分:3)

public static void main(String[] argsfinal工具和标准IDE等在主类中查找的入口点(可以是java或不可以,并不重要)一个Java应用程序。如果您不包含参数声明(String[] args),则签名不会与java工具的期望相匹配,因此可能无效。

main()编译,因为它只是一种方法,但不会使用java工具和遵循其约定的其他工具。

如果BlueJ允许您取消参数声明,那就是BlueJ工具特有的行为。

因此,例如,这编译得很好:

public class Example {
    public static void main() {
        System.out.println("Hi");
    }
}

它使用名为Example的方法编译为main类。但是,如果您尝试通过java工具运行

$ java Example
Error: Main method not found in class Example, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

要使其与java工具兼容,您需要参数。