在 Java 中的子类中使用父构造函数

2022-09-01 06:26:03

我有一个类“ChildClass”,它扩展了类“ParentClass”。与其完全替换父类的构造函数,我想先调用父类的构造函数,然后再做一些额外的工作。

我相信默认情况下调用父类的 0 参数构造函数。这不是我想要的。我需要用参数调用构造函数。这可能吗?

我试过了

this = (ChildClass) (new  ParentClass(someArgument));

但这不起作用,因为您无法修改“this”。


答案 1

您可以从子构造函数中引用父级的构造函数与“super”。

public class Child extends Parent {
    public Child(int someArg) {
        super(someArg);
        // other stuff
    }
    // ....
}

答案 2

若要调用特定的父类构造函数,请将其作为子类构造函数体中的第一个语句。super(param1, param2, ...)