超类构造函数和类层次结构问题

时间:2011-03-26 21:28:29

标签: java

所以我正在开发一个小项目,涉及使用构造函数,getter / setter等创建一个相机类。这样做之后,它会创建四个子类,并暗示将其中一些抽象化。我计划制作一个抽象的DigitalCamera类,以及扩展DigitalCamera类的具体DSLR类。我怎样才能在DSLR类中设置构造函数,使用主Camera类中的构造函数,然后从抽象的DigitalCamera类中设置字段?我已经尝试在eclipse中使用generate constructor选项,但它没有看到主类的构造函数,所以我认为不能这样做。

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:2)

abstract class DigitalCamera {
    private final Param param;
    protected DigitialCamera(Param param) {
        this.param = param;
    }
}
final class DSLR extends DigitalCamera {
    public DigitialCamera(Param param) {
        super(param); // <-- Call super's constructor.
    }
}

注意,构造函数&#34;不是成员&#34;因此不是遗传的。派生类的可用构造函数不需要与基类类似。