Java 为什么调用方法启动(args)等同于调用方法应用程序。启动(args)

Java 为什么调用方法启动(args)等同于调用方法应用程序。启动(args),java,javafx,Java,Javafx,我正在学习Javafx,并想知道为什么在这段代码中调用launchargs: import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.control.Button; public class Gui extends Application{ @Override public void start(Stage

我正在学习Javafx,并想知道为什么在这段代码中调用launchargs:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Button;


public class Gui extends Application{

    @Override
    public void start(Stage primaryStage){
        Button btn = new Button("OK");
        Scene scene = new Scene(btn, 200, 250);
        primaryStage.setTitle("My First GUI");
        primaryStage.setScene(scene);
        primaryStage.show();
        primaryStage.setResizable(true);
    }

    public static void main(String[] args) {
        Application.launch(args);
    }

}
当我们打电话的时候

launch(args);

我搜索并找到了这个答案JavaFX主类是应用程序的一个子类型。但我不明白。

这是因为您使用javafx应用程序类扩展了gui类。换句话说,您继承了它的所有方法,包括静态void launch。

我知道在javafx中是不允许的,但是如果我们删除扩展应用程序,我们应该显式地从两个Application.launch重载的文档中声明Application.launchargs,当您调用Application.launchargs方法时,它假定要从中启动JavaFX的应用程序子类是包含该方法调用的类。这意味着具有调用的类必须扩展应用程序。如果要启动不同的应用程序类,请使用第一个方法并传递所需的类。类似于Application.launchGui.class,argsSee