Object类及其方法ppt课件.pptx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. Object类及其方法 演讲人:胡望平 制 作:第五组 . 一、简介Object类 Object类是类层次的根。所有类都直接地继承Object类,所以一个Object类型的变量可以引用任何对象,不论是类实例还是数组。 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类。 Object类定义了一系列可供所有对象继承的方法。这些方法分为两类:通用工具方法和支持线程的方法。 . 通用工具方法: public boolean equals(Object obj) public int hashCode() public String toString() protected Object clone() ..... . 1、public boolean equals(Object obj) 比较接受对象和obj引用对象的等同性,如果他们的值相同则返回true,否则返回false。equals方法与值的等同性有关。Object中equals的默认实现假定对象只等于它自己,可通过if this==obj进行测试。 equals方法的特性: 1、if x!=nullx.equals(x) then true 2、if x.equals(y) true;then y.equals(x) true. 3、if x.equals(y)y.equals(z) true;x.equals(z) true. 4、if x!=null x.equals(null) then false 5、一致性 . 为什么要重写equals方法 1、基本类型用“==” 2、引用类型与null比用“==” 3、引用类型之间的比较用equals。 Object类中的equals方法判断的其 实还是地址。因此,判断两个对象值时须要重写 . 理解与思考 x.equals(y),当x和y所引用的对象是同一类对象且内容相等时(并不一定是相同对象)返回true,否则返回false. /home/soft01/Desktop/未命名文件夹/幻灯片129.JPG /home/soft01/Desktop/经典案例/幻灯片129.JPG /home/soft01/Desktop/经典案例/幻灯片129.JPG . 例如: @Override public boolean equals(Object obj){ if(obj==null) return false; else if(obj instanceof Student){ Student st=(Student)obj; return st.id==this.id; //return st.name.equals(name); //调string类中的equals()比较 }//类型+id 决定equals() return false; }//重点掌握与熟练 . 2、public int hashCode() 返回对象的散列码。每个对象都有一个用于散列表的散列码。散列码是由对象导出的一个整型值。散列码是没有规律的。如果x和y是两个不同的对象,x.hashCode()与y.hashCode()基本上不会相同。由于hashCode方法定义在Object类中,因此每个对象都有一个默认的散列码,其值为对象的存储地址。如果重新定义equals方法,就必须重新定义hashCode方法,以便用户可以将对象插入到散列表中。 功能:使相等对象拥有相同的哈希码 尽量让不等的对象具有不同的哈希码。 . 例如: public int hashCode(){ //按照Hashcode约定,与equals()相关 int type=41; //素数可以改变 //return type*43+id; return type*43+name.hashCode(); } . 3、public String toString() 返回对象的字符串表示。以便用户能够获得一些有关对象状态的基本信息 简单说就是利用字符串来表示对象。 toString方法的object版本构造了一个字符串,包含该对象的类名、一个@字符和实例散列码的十六进制表示。 . toString的调用方式 System.out.print/ln() 打印一个对象其 实就是打印这个对象 toString 方法的返回值。自动调用 “+”连接字符串时,自动调用该对象类的toString()方法:如 System.out.println(“info”+Person); 对象.toString(); . 例如: public

文档评论(0)

润哈哈 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体广州乾星科技有限公司
IP属地广东
统一社会信用代码/组织机构代码
91440101MA5B6X8T7Y

1亿VIP精品文档

相关文档