public boolean equals(Object obj) { if(this==obj) return true; if(obj==null) return false; if(this.getClass()!=obj.getClass()) return false; Date1 other=(Date1) obj; if(this.month!=other.month) return false; if(this.day!=other.day) return false; if(this.year!=other.year) return false; return true; }这个重写中,通过 if(this.getClass()!=obj.getClass()) return false; 不就可以判断出obj是Date1的对象了吗?为什么还需要通过tDate1 other=(Date1) obj;将obj类型转换为Date1 对象?是不是这一行多余了?
1 回答
已采纳
ziom
TA贡献948条经验 获得超1109个赞
没有多余,计算机不是人,它不具备逻辑推理能力,比如,如果太阳在头顶上,我们就可以知道现在的时辰是正午,但你如果告诉计算机太阳在头顶,它并不能由此判断出时辰,此处也是同样的道理。
添加回答
举报
0/150
提交
取消