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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18255007004 中级黑马   /  2015-1-15 14:51  /  997 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、Object 是Java的超类 所有类默认继承于Object
1) Java 类默认继承于Object  单继承
   继承了Object的属性和方法
   如: toString(),hashCode(),equals()
2) toString() 方法, 经常有系统默认调用, 活动当前对象的
文本描述, Object默认返回: 全限定名(包名.类名)@hashCode
   建议覆盖为: 当前对象的文本描述
3) equals 是用来比较两个对象是否相等的方法。
   区别:引用相等 与 对象相等
   引用值相等: 使用 “==”
   对象的内容相等: .equals() 方法
   equals在Object类中声明,默认的比较规则是:比较引用
   建议覆盖,实现对象的比较(比较对象的状态,就是比较对象
   的数据)。
  * 覆盖规则:
  a 自反性:对于任何非空引用值 x,x.equals(x)  null
    都应返回 true。
  b 对称性:对于任何非空引用值 x 和 y,当且仅当
    y.equals(x) 返回 true 时,x.equals(y)
    才应返回 true。
  c 传递性:对于任何非空引用值 x、y 和 z,如果
    x.equals(y) 返回 true,并且 y.equals(z) 返回
    true,那么 x.equals(z) 应返回 true。
  d 一致性:对于任何非空引用值 x 和 y,多次调用
     x.equals(y) 始终返回 true 或始终返回 false,
     前提是对象上 equals 比较中所用的信息没有被修改。
  e 对于任何非空引用值 x,x.equals(null) 都应返回
    false。www.yc-edu.org介绍
4) hashCode()
  A hashCode()方法要与equals方法一同覆盖
   a 当两个对象equals比较为true时候,这两个对象应该
     具有相同的hashCode()值
   b 当两个对象equals比较为false时候,这两个对象应该
     具有不相同的hashCode()值
   c hashCode() 值要稳定(一致性),一个对象创建以
     后就不应该再变化
  B 默认的hashCode() 值是当前堆对象地址转换的一个整数
   这个整数不是内存地址。
  C 一般使用对象的OID值作为hashCode的值。
    OID 对象的唯一编号,在工程项目中一般采用数据库来
    生成OID,也就是数据库中的“主键”

评分

参与人数 1技术分 +4 收起 理由
lwj123 + 4 赞一个!

查看全部评分

0 个回复

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