相关疑难解决方法(0)

67
推荐指数
3
解决办法
3万
查看次数

我应该如何使用超类的实例构造子类?

假设我有以下代码

public class SuperClass {
    protected int super_class_value;

    public SuperClass (int value) {
        this.super_class_value = value;
    }
}

public class Subclass extends SuperClass {
    protected int subclass_value;

    public SubClass(int super_class_value, int subclass_value) {
        super(super_class_value);
        this.subclass_value = subclass_value;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,现在我希望能够将 SuperClass 对象传递给 SubClass 构造函数。我该怎么做?

public SubClass(SuperClass super_class, int subclass_value) {
    //What do I do here?
    this.subclass_value = subclass_value;
}
Run Code Online (Sandbox Code Playgroud)

基本上,我想做这样的事情......

public SubClass(SuperClass super_calss, int subclass_value) {
    super(super_class.super_class_value);
    this.subclass_value = subclass_value;
}
Run Code Online (Sandbox Code Playgroud)

但是如果 SuperClass 更复杂,我不想将每个值添加到 super() 调用中。相反,我想简单地传入一个已经存在的对象,并将其用作超类。

我想做这个...

public SubClass(SuperClass super_class, …
Run Code Online (Sandbox Code Playgroud)

java inheritance object-construction subclassing

6
推荐指数
1
解决办法
1994
查看次数