第9章 Object类常用方法介绍.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Object类常用方法介绍 《Java SE6全方位学习》 第9章 学习目标 类的类型转换的使用 对象之间的比较 复制对象的方法 对象的字符显示 学习时间: 3小时 主要内容 9.1 类的类型转换 9.2 对象之间的比较运算 9.3 散列码? 9.4 对象的复制 9.5 将对象转为字符串 9.6 本章总结? 概述 Java中,类 Object 是类层次结构的根类。 每个类都使用 Object 作为超类。 所有对象(包括数组)都实现这个类的方法 类的相关属性可通过帮助文件jdk150.ZH_cn.chm查看 Java类层次结构示意图: Object类常用方法 public class Object { public boolean equals(Object?obj); public int hashCode() ; protected Object clone() throws CloneNotSupportedException; public String toString(); … … } Java中的所有类(不包括接口),都将继承上述方法 9.1 类的类型转换 类的类型转换只能用在具有垂直继承关系的父子类上,不能用在兄弟类上 子类转换为父类,属于自动类型转换 父类转换为子类,属于强制类型转换 例: public class A{ } public class B extends A{ } public class C extends A{ } public class Prog9_1{ public static void main(String argv[]){ A a1 = new A(); B b1 = new B(); C c1 = new C(); a1=b1; a1=c1; b1=(B)a1; // b1=(B)c1; 无法通过编译 } } 9.2 对象之间的比较运算 对象之间的比较运算有两种类型: 比较二个对象变量所指的对象实例是否是同一个对象实例 通过运算符“ == ”加以判断 比较二个对象变量所指的对象实例的成员变量的值是否相同 通过改写根类Object方法equals()加以判断 例:算符==与方法equals()的比较 String str1=new String(Hello); String str2=new String(Hello); String str3=Hello; String str4=Hello; System.out.println(str1==str2); System.out.println(str3==str4); System.out.println(str1.equals(str2)); System.out.println(str3.equals(str4)); public class StringEquals1{ public static void main(String argv[]){ String str1 = new String(Hello); String str2 = new String(Hello); String str3 = new String(Java); String str4 = str1; System.out.println( str1==str2 ); System.out.println( str1==str3 ); System.out.println( str1==str4 ); } } 9.3 散列码(hash码) ? 何为散列码 散列(hash):一种表示数据内容和数据存放地址之间的映射关系 散列码:表示数据内容所存放地址的一个索引值 Java规定: 两个对象实例的数值如果相同,则它们的散列码也必须相同 但Java中并没有提供实现上述规定的通用方法,必须由用户自选编程实现 具体做法:改写Object类的hashCode()方法 public class MyObject { public int data; public MyObject(int i){ data=i; } public boolean equals(Object obj){ if (obj != null (obj instanceof MyObject)) if (this.data == ((MyObject)obj).data) return true; return false; } public int hashCode(){ return (new Integer(data).hashCode()); } } public class Prog9_6{ public static void main(St

文档评论(0)

6358999 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档