子类的重载构造函数

问题描述 投票:0回答:1

所以我有一个抽象类:

public abstract class Superclass {
    private final boolean isTrue;
    private final int number1;
    private final int number2;
    private final int number3;

    public Superclass(boolean isTrue, int number1, int number2, int number3) {
        this.isTrue = isTrue;
        this.number1 = Math.abs(number1);
        this.number2 = Math.abs(number2);
        this.number3 = Math.abs(number3);
    }

最重要的是,我创建了“超类”的子类,该子类应该具有2个公共构造函数:

public class Subclass extends Superclass{

    public Subclass(int number2, int number3) {
     ...
    }

    public Subclass(int number1, int number2, int number3) {
     ...
    }

现在,我不知道我应该在那些构造函数内部写些什么来使它们起作用,因为我认为必须调用super(isTrue,number1,number2,number3),这显然是不可能的。我不想将任何其他属性添加到子类。有什么办法可以使这项工作吗?在此先感谢:)

java constructor subclass
1个回答
0
投票

您必须为超类所需的参数提供(默认)未提供给子类构造函数的值。

例如:

public Subclass(int number2, int number3) {
    super(true, 0, number2, number3);
}
© www.soinside.com 2019 - 2024. All rights reserved.