使用重载的默认构造函数调用Java中的三参数构造函数?
我正在学习如何使用重载构造函数。我需要编写的程序之一是一个健身程序,它可以记录当前的活动、时间(分钟)和日期。在这个程序中,我有一个默认构造函数和一个三参数构造函数。在默认构造函数中调用三参数构造函数时,我得到一个错误,错误是“FitnessTracker2(String,int,LocalDate)类型的方法FitnessTracker2未定义”,调用的LocalDate参数似乎是导致它的原因。我尝试过重新排序构造函数并更改它们的名称,但到目前为止,我尝试过的一切都毫无用处
import java.time.*;
public class FitnessTracker2 {
String activity;
int minutes;
LocalDate date;
public FitnessTracker2() {
FitnessTracker2("running", 0, LocalDate.of(1,1,2020));
}
public FitnessTracker2(String a, int m, LocalDate d) {
activity = a;
minutes = m;
date = d;
}
public String getActivity() {
return activity;
}
public int getMinutes() {
return minutes;
}
public LocalDate getDate() {
return date;
}
}
# 1 楼答案
从默认构造函数调用另一个构造函数时,需要使用
this
关键字而不是类名来引用它