equals方法的重写和重载
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | @Override public boolean equals(Object obj) { if (obj== null ) return false ; Cat cat=(Cat)obj; if ( this .getName().equals(cat.getName())&& this .getSpecies()==(cat.getSpecies())) return true ; else return false ; } public boolean equals(Cat obj) { if (obj== null ) return false ; //Cat cat=(Cat)obj; if ( this .getName().equals(obj.getName())&& this .getSpecies()==(obj.getSpecies())) return true ; else return false ; } |
上面的代码,第一个equals方法重写的是Object类的,下面的equals方法是重载第一个的,那我如果不写第一个equals方法,而是直接写第二个,如下,那么这个算什么,是重新定义了一个方法吗?
1 2 3 4 5 6 7 8 | public boolean equals(Cat obj) { if (obj== null ) return false ; if ( this .getName().equals(obj.getName())&& this .getSpecies()==(obj.getSpecies())) return true ; else return false ; } |
13
收起
正在回答 回答被采纳积分+1
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧