Java如何在调用父构造函数之前覆盖子类中的父类属性

查莫

我有一个带有公共静态String xxx属性的BaseClass。BaseClass构造函数需要使用xxx属性调用某些方法。并且有一个ChildClass应该重写BaseClass xxx属性,但是如果我在ChildClass构造函数中这样做已经为时已晚。如何更改BaseClass xxx属性,以便BaseClass构造函数将使用ChildClass xxx中的值。

BaseClass {

    public statis Strin xxx = "";

    public void BaseClass()
    {
        open(xxx);
    }

}

ChildClass extends Baseclass {

    // Need to rewrite this value to be used by BaseClass constructor
    public statis String xxx = "something else" 

}

BaseClass仍使用其自己的值,而不是构造函数中ChildClass的值。希望它很简单,但我不知道该怎么做。感谢帮助。

灰色公平

您可能不想更改基类使用的值。

静态字段不能被覆盖。您可以使用非静态字段来执行此操作,并将静态字段保留为默认值,如下所示:

class BaseClass {

    public static String DEFAULT_XXX = "";
    protected final String xxx;

    public BaseClass()
    {
        this(DEFAULT_XXX);
    }

    protected BaseClass(String xxx)
    {
        this.xxx = xxx;
        open(xxx);
    }

}

class ChildClass extends BaseClass {

    public ChildClass()
    {
        super("something else");
    }

}

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在调用父构造函数之前覆盖子类中的父类属性?

如何在子类构造函数中调用父构造函数?

子类构造函数如何设置父类属性

TypeScript:定义了解子类属性的父类的构造函数

我们如何在C ++中从子类中调用父级重载的构造函数?

FactoryGirl覆盖父类属性子类

如何覆盖子类中的抽象类构造函数

如何在向量中存储子类并覆盖父函数

如何在父类的函数中调用子类的函数

覆盖类属性,但不覆盖子类中的方法

通过父类中的函数访问子类属性

反应如何在父级中覆盖子级功能,

Python访问父构造函数中的派生类属性

在父类中获取子类属性

如何在父类文档字符串中引用子类属性?

如何在声明时在子类主体中访问和扩展ES7父类属性?

在父类中插入数组列表以覆盖子类

在Java中调用父构造函数

在父类和子类的构造函数中调用重写的方法

在python中从子类调用父类构造函数

在父类构造函数调用的方法中访问子类字段

超类属性覆盖子类属性

如何使用父.class属性覆盖子元素属性

如何在ES6中调用班级的父级的父级构造函数?

如何在Codeigniter中将父类构造函数访问子类

如何在覆盖父函数的函数的子类中访问this.props

在 dart 中调用父构造函数之前执行代码

具有Java中构造函数默认值的超类覆盖子类

为什么必须在Java中子类的参数化构造函数中调用父类的参数化构造函数?