我有一个关于JavaFX和非常奇怪的应用程序的实现的问题。让我用代码显示它:
想象一个基本的应用程序:
import javafx.application.Application;
import javafx.stage.Stage;
public class JavaFXApp extends Application {
// constructor, ...
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
// important stuff
initialize();
// important stuff
stage.show();
}
public void initialize() {
System.out.println("default");
// basically abstract
}
// and other functions.
}
以及它的扩展(按预期):
public class JavaFXAppExtended extends JavaFXApp {
// constructor, ...
@Override
public void initialize() {
System.out.println("extended");
}
}
现在的召唤
JavaFXApp
对我的眼睛没有问题。但打电话时
JavaFXAppExtended
这个
@Overwrite
是
大体上
忽略
和
initialize
从父类调用
因此
JavaFXApp.main(args);
-> default
JavaFXAppExtended.main(args);
-> default
由此
“扩展”
应为
.
那么,我错过了什么重要的事情吗?这是违法的吗?我是不是经验不足?这可能只是一个bug吗?我不知道。但我想知道。