java - 使用在 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;
}
}
解决方案
从默认构造函数调用另一个构造函数时,需要使用this
关键字而不是类名来引用它。
public FitnessTracker2() {
this("running", 0, LocalDate.of(1, 1, 2020));
}
推荐阅读
- java - 如何通过 Spring 将消息重新排队到 Rabbit MQ 队列的后端
- r - 如何将具有离散值范围的数值向量转换为因子?
- python - 函数 `matplotlib.pyplot.isinteractive` 和 `matplotlib.is_interactive` 是否相同?
- r - 如何编写一个函数来检查 grepl 中的非常规字符的字符串?
- server - 如何使用 CLI 将具有多个资源的模块添加到 WildFly
- android - 我可以在 android studio 中为我的应用添加新的文本样式吗?
- linux - 如何运行仅将标准输入、标准输出和标准错误附加到另一个正在运行的进程的进程
- python - pandas:使用 is_monotonic_increasing 遍历多个列
- javascript - 使用 Blazor WebAssembly 在 .NET Visual Studio 中找不到 JS 文件
- javascript - 如何在将数据加载到 UseEffect 中的数组后执行排序 - React Native