将 main 方法定义为:public static void main(String[] args)的理由

Posted 守夜人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将 main 方法定义为:public static void main(String[] args)的理由相关的知识,希望对你有一定的参考价值。

1.没有public修饰符或者其他修饰符

错误: 在类...中找不到 main 方法, 请将 main 方法定义为:

   public static void main(String[] args)

否则 JavaFX 应用程序类必须扩展javafx.application.Application

 

2.没有static

错误: main 方法不是类 ... 中的static, 请将 main 方法定义为:

   public static void main(String[] args)

 

3.返回值不是void

错误: main 方法必须返回类 ...中的空类型值, 请

将 main 方法定义为:

   public static void main(String[] args)

4.没有main

错误: 在类 ... 中找不到 main 方法, 请将 main 方法定义为:

   public static void main(String[] args)

否则 JavaFX 应用程序类必须扩展javafx.application.Application

 

5.参数类型不是string[],或者没有参数列表

错误: 在类 ...中找不到 main 方法, 请将 main 方法定义为:

   public static void main(String[] args)

否则 JavaFX 应用程序类必须扩展javafx.application.Application

 

原因:

main()方法是Java应用程序的入口方法,Java里的权限,其实是相对的.比如 定义为 public ,则为所有人都可以访问.定义为 private 则相对于其他外部的调用来说,是不可见的.但对于定义这个属性或方法的类本身来说.没有任何影响.
  因为编写一个类,总是要实现某些功能,类中定义的方法不可能仅仅有一个(极端的空类,只有一个隐含构造函数的例外). 但方法多了,就会产生问题.即,那个方法是整个类的入口呢? 所以 Sun 规定了,把这个入口强制规定成 main.

因为这个方法是在这个类实例化前就需要调用.所以要定义成 static .

因为这个main方法是留做给运行环境使用的.所以要定义成 public (外部运行环境不属于这个类本身,也不属于这个类所在的包.)

又因为这个main方法仅仅是调用这个类内部其他方法的一个入口, 所以他不需要任何的返回值.因此就定义成 void .

 

以上是关于将 main 方法定义为:public static void main(String[] args)的理由的主要内容,如果未能解决你的问题,请参考以下文章

错误: 在类中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args) 否则 JavaFX 应用程

错误: 在类中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args) 否则 JavaFX 应用程

错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须

eclipse 运行错误:在类XXX中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应

(转)错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx

(转)错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx