-1

我一直在使用 Java IDE - BlueJ但我不明白为什么 main 方法不能定义为

public static void main(String[] args)

在里面。尝试时出现语法错误。

4

2 回答 2

2

阅读文档,例如如何在 BlueJ 中调用 main 方法,以及如何传递参数?

如何在 BlueJ 中调用 main 方法,以及如何传递参数?

您可以像在 Java 中调用任何静态方法一样调用 main 方法——通过右键单击类图中的类,然后从弹出菜单中选择方法。

当您从类中调用 main 方法时,您将看到一个参数输入字段,提示您输入 main 方法作为参数的字符串数组。

默认情况下,参数为

{ }

(一个空数组,没有参数)。如果你想从命令行传递三个参数,你会写

java MyClass one two three

在 BlueJ 中,您在对话框文本字段中为“main”使用以下参数:

{ "one", "two", "three" }

这将传递三个字符串的数组,就像命令 shell 所做的那样。

于 2016-03-25T04:45:49.657 回答
1

在此处输入图像描述

如您所见,如果您将 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) - 这是标准方式。

如果您分别使用命令javacjava在 windows cmd 中编译和运行 java 程序,而不是使用 BlueJ,如果您编写main()而不是main(String [] 参数)。下面是在未正确定义 main 方法时 NetBeans IDE 中发生的情况的快照。

在此处输入图像描述

而当完美的程序在 NetBeans 中运行时,

在此处输入图像描述

于 2016-03-25T06:12:18.810 回答