您如何在Java中从超类调用子类方法?

斯科普塔

我环顾四周,找到了问题的答案,但我没有。您如何在Java中从超类调用子类方法?

基本上,我要执行的操作是:我有一个名为的方法exec该方法将aString作为命令的参数。我希望能够exec在开发人员已经从超类重写的子类中调用方法,而无需提前知道子类的名称。

这就像Thread类的工作方式。我不打算做我发现的每个答案所要做的事Superclass object = new Subclass();,然后只是打电话给我object.method();

这是超类中的代码

import javafx.application.*;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.input.*;
import javafx.scene.text.Text;



public abstract class Console extends Application {
    private String title;
    private static Text output = new Text();


    public void create(String title) {
        this.title = title;
        launch();
    }

    public void start(Stage stage) {
        stage.setOnCloseRequest((WindowEvent event) -> {
            System.exit(0);
        });
        stage.setTitle(title);
        stage.setResizable(false);
        Group root = new Group();
        Scene scene = new Scene(root, 800, 400);
        stage.setScene(scene);
        ScrollPane scroll = new ScrollPane();
        scroll.setContent(output);
        scroll.setMaxWidth(800);
        scroll.setMaxHeight(360);
        TextField input = new TextField();
        input.setLayoutX(0);
        input.setLayoutY(380);
        input.setPrefWidth(800);
        scene.setOnKeyPressed((KeyEvent event) -> {
            if(event.getCode() == KeyCode.ENTER) {
                exec(input.getText());
                input.clear();
            }
        });
        root.getChildren().add(scroll);
        root.getChildren().add(input);
        stage.show();
    }
    public static void appendOutput(String value) {
         Platform.runLater(() -> {
            output.setText(output.getText() + "\n" + value);
        });
    }
    protected abstract void exec(String command);
}
斯科普塔

我的特定JavaFX子类化问题的答案在此处子类化JavaFX应用程序对于一般的子类化,这里的答案就足够了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从修饰的子类方法中调用重写的超类方法

Java多态性如何调用子类对象的超类方法

为什么从子类的超类调用方法中获得“ this”?

如何在Python的子类中调用父类的方法?

从超类调用子类方法

如何确保某些方法从子类(Java)中的方法从抽象超类中调用

如何在Java中从其超类方法停止/退出子类方法执行

java-从动态转换的超类调用子类方法

超类引用无法在Java中调用子类方法

Java继承:在超类中调用子类方法

确定用于调用子类中的方法的超类引用

Javascript ES6:如何从超类中定义的静态方法中检索调用子类

Java继承:创建子类实例时如何调用超类方法?

Java:从超类构造函数中的子类调用的方法

如何在Groovy中从静态超类方法引用子类

如何使子类自动调用超类方法

如何在超类的静态函数中获取调用子类的名称?

Python-如何从子类实例调用超类的方法?

Dart-如何在子类的构造函数中调用超类的工厂构造函数?

在Java中,“ this”在继承该方法的子类上调用的超类方法中表示什么?

您如何在baseclass方法中调用子类方法?

如何在Java中强制调用超类实现Object.toString()而不是子类重写对对象的实现

当子类对象存储在超类数组中时,如何调用子类方法?

java泛型-如何在知道子类类型和超类的情况下调用子重载方法

从超类对象数组中调用子类方法

如何从重写的子类方法调用超类的继承方法?

从 Java 中超类类型的 ArrayList 调用子类方法

如何在同名的子类方法中调用父类方法?

如何使用子类的数据调用超类方法?