我有一个有趣的问题,也许我在解决这个问题的方法上有些错误,但我感觉我正在正确的轨道上。我正在尝试创建一个超类,我的子类可以引用它。所以我已经设置了大部分代码,但是无法弄清楚默认构造函数,这是我收到的错误:
在调用超类型构造函数之前无法引用 'GregorianDate.day'。
public class GregorianDate extends Date {
//Initialise the variables
public int month = 1;
public int day = 1;
public int year = 1970;
//*************** Constructors ***********************
GregorianDate() {
super(month,day,year);
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);
}
超类文件:
public class Date {
public int month;
public int day;
public int year;
Date(int passedMonth, int passedDay, int passedYear){
month = passedMonth;
day = passedDay;
year = passedYear;
}
我尝试了添加一个无参数的默认构造函数,并通过 super() 进行调用,结果与之前相同。 感谢任何帮助。