我是java中的一员。我用java很顺利。问题是当我们将java中的main函数声明为main(String args)时。我正在学习bluej。如果我只写main(),它工作正常。那么两者之间的区别是什么。
答案 0 :(得分:3)
public static void main(String[] args
是final
工具和标准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
工具兼容,您需要参数。