我一直在使用 Java IDE - BlueJ但我不明白为什么 main 方法不能定义为
public static void main(String[] args)
在里面。尝试时出现语法错误。
我一直在使用 Java IDE - BlueJ但我不明白为什么 main 方法不能定义为
public static void main(String[] args)
在里面。尝试时出现语法错误。
阅读文档,例如如何在 BlueJ 中调用 main 方法,以及如何传递参数?:
如何在 BlueJ 中调用 main 方法,以及如何传递参数?
您可以像在 Java 中调用任何静态方法一样调用 main 方法——通过右键单击类图中的类,然后从弹出菜单中选择方法。
当您从类中调用 main 方法时,您将看到一个参数输入字段,提示您输入 main 方法作为参数的字符串数组。
默认情况下,参数为
{ }
(一个空数组,没有参数)。如果你想从命令行传递三个参数,你会写
java MyClass one two three
在 BlueJ 中,您在对话框文本字段中为“main”使用以下参数:
{ "one", "two", "three" }
这将传递三个字符串的数组,就像命令 shell 所做的那样。
如您所见,如果您将 main 方法定义为public static void main(String[] args) ,BlueJ 不会引发语法错误。为什么要这样做?这是 Java 程序的 main 方法的标准标识。(如果您仍然遇到语法错误,那么如果您可以在问题中添加窗口快照会很有帮助,就像我在答案中所做的那样,显示编译器错误。)
在 BlueJ 中,您并没有真正运行程序(只是为了说明):您只需通过右键单击类 Icon 来选择开始执行的方法。BlueJ 是一个初学者的 IDE。在现实生活中,Java 程序的运行方式与您在 BlueJ 中的运行方式不同。如果您使用 JCreator 或 NetBeans 等 IDE,您会看到这一点。Java 程序的执行方式与您在计算机上执行任何程序的方式相同。运行.class文件,jre自动执行main方法。但是为了让系统识别主方法,您必须以这种方式定义主方法 - public static void main(String[] args) - 这是标准方式。
如果您分别使用命令javac和java在 windows cmd 中编译和运行 java 程序,而不是使用 BlueJ,如果您编写main()而不是main(String [] 参数)。下面是在未正确定义 main 方法时 NetBeans IDE 中发生的情况的快照。
而当完美的程序在 NetBeans 中运行时,