- 此问题在此处已有答案**:
Why are my fields initialized to null or to the default value of zero when I've declared and initialized them in my class' constructor?(4个答案)
三年前关闭了。
我有一个出租我的书程序数组。返回日期不能为空。在LocalDate.parse中的日期必须显示。
public class Rent implements {
private LocalDate dateOfRent;
public Rent(LocalDate dateOfRent) {
dateOfRent = LocalDate.now();
}
public LocalDate getdateOfRent(){
return dateOfRent;
}
public void setLocalDate(LocalDate dateOfRent){
this.dateOfRent = dateOfRent;
}
public String toString() {
return "Date of Rent:" + dateOfRent;
}
}
我租用的阵列
Rent rentals = {
LocalDate.parse("2008-05-16")
};
2条答案
按热度按时间66bbxpm51#
由于构造函数的参数与字段
dateOfRent
同名,因此必须使用this.dateOfRent
来引用字段,否则将把值赋给参数变量。用这个
mfuanj7w2#
您正在“重置”本地参数
dateOfRent
,而不是设置成员。请尝试:这被称为parameter shadowing。
(btw:为什么还要有参数呢?)