Advertisement

在构建器中对可重写的任务进行操作存在哪些困难?

阅读量:

问题:在构造器里调用可重写的方法有什么问题?

我设计了一个用于检票页面的类,该类通过抽象方法的执行结果来确定并设置页面的标题信息。

复制代码
    public abstract class BasicPage extends WebPage {
    
    public BasicPage() {
        add(new Label("title", getTitle()));
    }
    
    protected abstract String getTitle();
    
    }
    
    
    AI写代码Java
    
    运行

NetBeans提示了"Overridable method call in constructor"这一警告信息,然而这究竟意味着何种错误呢?
我所能想到的唯一可行替代方式是将抽象方法的执行结果传递至子类的父类构造函数中,但这样处理后,许多参数将无法被正确获取。

回答一

以下提供一个示例,有助于你更好地理解相关内容。

复制代码
    public class Main {
    static abstract class A {
        abstract void foo();
        A() {
            Syste

全部评论 (0)

还没有任何评论哟~