继承私有值时如何制作复制构造函数?

How to make a copy constructor when inherited private values?

我需要为大学的一项任务制作一个单位转换器。 因此我们给出了这个代码:

public abstract class SIUnit {
    enum EUnitType {
        DISTANCE,
        MASS,
        TIME
    };

    private double value;

    private EUnitType unitType;

    public abstract void setDerivedValue(EUnitType newType, double newValue);

    public abstract double getDerivedValue();
}

所以这些值是私有的。现在我们需要为 SIUnit 创建一些构造函数。 第二个任务是创建一些 类 具有特定的单元类型和一个构造函数和一个复制构造函数 我的问题是如果我所有的参数都是私有的,如何制作复制构造函数?

在 Java 中,您可以访问私有参数,因为复制构造函数位于同一个 class 中。所以对于你的复制构造函数,它看起来像这样:

public SIUnit(SIUnit inUnit){
    value = inUnit.value;
    unitType = inUnit.unitType;
    //Same thing for the rest of the instance variables
}