首页 > 代码库 > 将 main 方法定义为:public static void main(String[] args)的理由
将 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)的理由