本帖最后由 longer5153458 于 2013-08-27 23:37:38 编辑

解决方案 »

  1.   

    那句相当于本类引用对象和参数引用对象哈希码相同,也就是地址相同,指向同一个对象实例
    重写的equals方法是先比较引用对象alice1与alice3的哈希码,如果相同返回true,如果不同再继续比较他们的对象实例,实例相同也返回true
      

  2.   

    equals有如下特性:
    1. 自等(就是自己equals自己,结果为true,你的疑问解决了吧:this表示本对象)
    2. 对称(a equals b,那么b equals a)
    3. 传递(a equals b, b equals c, 那么a equals c)
    4. 根据惯例,还有个非空(不能与null相等)
      

  3.   

    "=="不是要求所引用的对象必须是同一个才是true么?   if(this == otherObject) return true;我是这么理解的:Object otherObject = alice3;(otherObject引用alice3的对象)然后alice1=otherObject(很明不是同一对象)所以应该返回false。但这是错的,我就是不知道我错在哪里?