equals方法后面括号里的参数问题
public boolean equals(Object obj){
if(obj==null)
return false;
Animal temp=(Animal)obj;
if(this.getName().equals(temp.getName()) && (this.getMonth()==temp.getMonth()))
return true;
else
return false;
}
我的问题是:
1、这是对equals方法的重写,我觉得特别逗的是,在课程里,one和two本身就是Animal的对象,one.equals(two),传的two本就是Animal的对象,又不是Object类的对象,在重写的方法里还强转什么:Animal temp=(Animal)obj;?
2、我不懂的是,在不考虑课程之后重载的情况(它将参数改为了Animal类对象),只考虑现在重写的情况下,equals方法后面括号里传的参数明明应该是Object类的对象,课程还能把Animal的对象two给传进去,要知道这个two可是Animal的对象,不是Object类的对象,这到底是怎么回事?
0
收起
正在回答
2回答
同学你好,你的理解很正确,就是这个意思。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星