A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 为梦而战 黑马帝   /  2012-1-2 12:44  /  1515 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

      我们知道Object类中有一个equals()方法,我们在使用集合的时候为了按照需求需要自己重写这个方法,
但是常常会和重载混淆。比如我们重写的时候会这样用equals(Person obj){其中的代码不变}.其实这样用,是重载,不是重写,我们在用这样的equals()比较时,我们会发现,比较的逻辑没有问题啊,怎么在不同的对象比较时,运行结果却有时会返回true,那是因为它根本主没有调用我们写的equals()方法去比较,而是调用的Object类的equals()方法去比较的。所以在重写的时候我们要写成equals(Object obj){}这样才是重写,而equals(Person obj){}这样的写法是重载。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马