为什么Java中的main方法应该是小写字母(main)而不是大写字母(Main)?

时间:2019-07-08 06:14:16

标签: java

java中是否有任何特定原因,主要方法应为小写字母

是“主要”和“主要”

此编译

public class ManiMethod {
    public static void main(String[] args) {

    }
}

为什么它不能编译

public class ManiMethod {
    public static void Main(String[] args) {
    }
}

7 个答案:

答案 0 :(得分:2)

第二个代码段绝对可以编译-它没有运行,因为它没有main方法。

为什么用main而不是Main?因为那是语言的设计师决定的。 Section 12.1.4 of the JLS指定应如何精确定义main方法的签名。

答案 1 :(得分:1)

您不正确。这段代码:

recv()

将编译正常。但是它不会作为Java程序运行。

通常,大写和小写命名约定就是这样。没有什么能阻止您提供以大写字母开头的方法名称的。您的第二个代码块将正常编译。

然后是Java是否可以运行此类的问题。不能这样,因为Java可以运行的类的定义是具有名为“ main”的静态方法的,该方法不同于名为“ Main”的方法。

如果您将两个类定义结合在一起,则有两个方法,一个名为“ Main”,一个名为“ main”,它将同时编译并运行。名为“ main”的方法将被执行。

答案 2 :(得分:1)

  

CREATE INDEX ON company_geo_table (cik, date); 是Java应用程序启动时调用的方法。 请记住,Java区分大小写。因此,mainMain不同。

您可以找到更详细的说明here

答案 3 :(得分:0)

所有Java中的第1位区分大小写,Java的“ Main”和“ main”不同。 其次,Java受到C / C ++的启发,C / C ++也使用main()函数作为程序的起点。

Java甚至可以接受Main()的任何函数名称,但是会专门寻找静态main()方法作为程序的起点。

答案 4 :(得分:0)

因为这些是规则。

规则还包括它必须是静态的,公共的并且接受String []类型的单个参数(即String的数组)。

由于Java区分大小写,所以Main与main完全不同。

还有一个约定(有些人会说是标准),即类以大写字母开头,方法以小写方法开头。因此,要将您的问题扩展到一个极端,您不妨问一问,为什么它不叫“ abcde”而不是main?

由于上述所有(无疑还有更多)的结果,java运行时环境的开发人员选择调用作为Java程序main入口点的方法。

答案 5 :(得分:0)

Java区分大小写。 “主要”不是主要方法。如果使用Main进行编译和运行,它将无法正常工作。

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

答案 6 :(得分:0)

如果

Mainmain都存在于任何类中,则它们将是两种不同的方法。每当您尝试使用TestClass运行任何类,例如java TestClass时,JRE都会搜索名称为main(String[] arg)的方法。否则它将引发异常。