尝试通过其在子类中的引用来使用和实现数组,但它保持为空

Try to use and implement array by its reference in childclass but it stays null

对于 Java 中的一个项目,我想在超类中创建对数组的私有引用,但没有实现它。我想在子类中实现,所以我在超类中为该数组创建了一个 getter 方法。在子类构造函数中,我实现了数组,现在的问题是,即使我向引用添加了一个数组,超类中的数组引用仍为空。我想稍后在超类中使用该数组。 我将添加一些代码以便更好地理解。

我理解我的错,这在 Java 中不容易实现,但是有没有任何解决方案可以通过引用像这样“编辑”数组,或者我是否必须使用 setter方法?

//parent class
public abstract class Superclass {
    private Test[] test_Values;
    
    public Measurement[] getTestValues() {
        return this.test_Values;
    }
}

//child class
public class ChildClass extends SuperClass {

    public ChildClass() {
        Test[] measures = super.getTestValues();
        measures = new Test[4];
    }
}

在 parent 构造函数中初始化数组:

public abstract class Superclass {
    private Test[] test_Values;

    protected Superclass(int capacity) {
        this.test_Values = new Test[capacity];
    }

    public Test[] getTestValues() {
        return this.test_Values;
    }
}

然后,您必须在 child classes 中使用 non-default 构造函数。

public class ChildClass extends SuperClass {

    public ChildClass() {
        super(4);
    }
}

或者,为了进一步控制如何初始化数组中的值,您可以添加在 parent 的构造函数中使用的抽象方法:

public abstract class Superclass {
    private Test[] test_Values;

    protected Superclass() {
        this.test_Values = initializeArray();
    }

    public Test[] getTestValues() {
        return this.test_Values;
    }

    protected abstract Test[] initializeArray();
}

然后childclass需要实现那个抽象方法:

public class ChildClass extends SuperClass {
    @Override
    protected Test[] initializeArray() {
        Test[] testValues = new Test[4];
        // calculate elements
        return testValues;
}