Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaFX中使用'start'方法时是否不需要main?_Java_Javafx_Main - Fatal编程技术网

在JavaFX中使用'start'方法时是否不需要main?

在JavaFX中使用'start'方法时是否不需要main?,java,javafx,main,Java,Javafx,Main,使用JavaFX时,我们重写启动应用程序的start方法 @Override public void start(Stage primaryStage ) {} 我发现java编译器知道,当没有主方法时,start是起始点。一个主要的方法似乎是不必要的。 是否仍有理由实施一项主要政策 还存在实现main方法的功能性原因吗?注意:我的答案假设是OpenJDK/OracleJDK。我不知道其他供应商是否也这样做 其他人引用的文档侧重于不再存在的JavaFX Packager工具1。值得注意的是,该

使用JavaFX时,我们重写启动应用程序的start方法

@Override
public void start(Stage primaryStage ) {}
我发现java编译器知道,当没有主方法时,start是起始点。一个主要的方法似乎是不必要的。 是否仍有理由实施一项主要政策

还存在实现main方法的功能性原因吗?

注意:我的答案假设是OpenJDK/OracleJDK。我不知道其他供应商是否也这样做

其他人引用的文档侧重于不再存在的JavaFX Packager工具1。值得注意的是,该工具似乎不是必需的(至少对于Java10和Java11是如此)。唯一需要的是JavaFX库存在,并且指定的主类扩展
应用程序
;然后,无论代码是如何组装的,您都不需要
main
方法

是否还有功能上的原因仍然需要实现主方法

在一个普通的JavaFX应用程序中,我会说不。您想在
main
中进行的任何初始化都可以在
application.init
中进行。您还可以通过
Application.getParameters
访问命令行参数

还有一个最重要的问题,为什么编译器接受start作为起点。。这反对我的编程神经质

有关JavaFX(至少对于10和11)应用程序的内部启动过程的详细信息,请参阅

此外,编译器不“接受开始作为起点”。编译器只是编译代码,并查看
start
-和
main
-与任何其他方法相同。运行时搜索并调用
main
。也就是说,链接的答案是关于
start
(以及一般的JavaFX应用程序)是如何得到特殊处理的


一,。在Java11中删除了packager工具。然而,有一个可能的替代者即将到来:。

请参阅,或上述答案中引用的文档-