为什么(String [] args)不用作BlueJ中的主要方法参数?

时间:2016-03-25 04:25:55

标签: java bluej main-method

我一直在使用Java IDE - BlueJ ,但我无法理解为什么主要方法无法定义为

public static void main(String[] args)

在里面。我尝试时遇到语法错误。

2 个答案:

答案 0 :(得分:1)

阅读文档,例如How do I call a main method in BlueJ, and how do I pass it arguments?

  

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

     

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

     

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

     

默认情况下,参数为

{ }
     

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

java MyClass one two three
     

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

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

这会传递三个字符串的数组,就像命令shell一样。

答案 1 :(得分:0)

enter image description here

如您所见,如果将main方法定义为 public static void main(String [] args),则BlueJ不会抛出语法错误。为什么要这样呢?这是Java程序主要方法的标准标识。 (如果你仍然遇到语法错误,那么如果你可以在你的问题中添加一个窗口的快照会很有帮助,就像我在答案中所做的那样,显示编译器错误。

在BlueJ中,你并没有真正运行程序(只是为了说):你只需通过右键单击类Icon来选择开始执行的方法。 BlueJ是初学者的IDE。在现实生活中,Java程序不像在BlueJ中那样运行。您可以看到,如果您使用JCreator或NetBeans等IDE。 Java程序以您在计算机上执行任何程序的方式执行。运行 .class 文件,主要方法由jre自动执行。但是要让系统识别main方法,你必须用这种方式定义main方法 - public static void main(String [] args) - 这是标准方式。

如果您分别使用命令 javac java 在windows cmd中编译和运行java程序,而不是使用BlueJ,您将看到编译时错误说如果您编写 main()而不是 main(String [] args),则“找不到主要方法”。下面简要介绍了主方法未正确定义时NetBeans IDE中发生的情况。

enter image description here

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

enter image description here