任何人都可以看到为什么我收到错误“不兼容的类型,NumberDisplay无法转换为int”
原始项目没有包括秒,所以我想添加它,但是当我尝试时,我得到了错误。
我试过改变价值观,没有帮助。
myhiddenfield
答案 0 :(得分:4)
在这个方法中
public ClockDisplay(int hour, int minute, int seconds)
^^^^^^^
{
hours = new NumberDisplay(24);
minutes = new NumberDisplay(60);
seconds = new NumberDisplay(60);
^^^^^^^
setTime(hour, minute);
}
该行
seconds = new NumberDisplay(60);
正在尝试将NumberDisplay
分配给seconds
,其本地是参数变量并且是int
。你应该把它改成
this.hours = new NumberDisplay(24);
this.minutes = new NumberDisplay(60);
this.seconds = new NumberDisplay(60);
一般情况下,在构造函数或setter中将参数命名为与成员变量相同是正常的,但是您应该养成在赋值左侧始终使用this.
的习惯,以避免这个问题