在超类中调用构造函数

时间:2018-03-16 04:55:06

标签: inheritance super

我正在学习如何建立一个超类。我已成功设置了所有内容我只需要帮助学习如何调用默认构造函数。

这是我有的Superclass文件:

public class Date {

private int month;
private int day;
private int year;

Date() {

}

Date(int passedMonth, int passedDay, int passedYear){
   month = passedMonth;
   day = passedDay;
   year = passedYear;
}

亚类:

public class GregorianDate extends Date {
//*************** Constructors ***********************
GregorianDate() {
    long numToAdd = System.currentTimeMillis();
    numToAdd += java.util.TimeZone.getDefault().getRawOffset();
    numToAdd /= 86400000;
    super.addDays(numToAdd);
}
//Parameterized constructor
GregorianDate(int passedYear, int passedMonth, int passedDay){
    super(passedMonth, passedDay, passedYear);
}

我需要做的是调用子类中的默认构造函数,将正确的默认构造函数更新为今天的日期。不知何故,在超类中分配月,日和年值。

1 个答案:

答案 0 :(得分:0)

超类应该在构造函数中有自己的初始化器,您可以在子类构造函数中有选择地覆盖它们。

除非你的代码中有超类,否则这是不可能的。

希望这可以解决您的疑问。