欢迎来到天天文库
浏览记录
ID:19918051
大小:139.50 KB
页数:18页
时间:2018-10-07
《第9章 object类常用方法介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Object类常用方法介绍《JavaSE6全方位学习》第9章学习目标类的类型转换的使用对象之间的比较复制对象的方法对象的字符显示学习时间:3小时主要内容9.1类的类型转换9.2对象之间的比较运算9.3散列码9.4对象的复制9.5将对象转为字符串9.6本章总结概述Java中,类Object是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法类的相关属性可通过帮助文件jdk150.ZH_cn.chm查看Java类层次结构示意图:ObjectStringMathDateNumberIntegerObject类常用方法publicclassO
2、bject{publicbooleanequals(Objectobj);publicinthashCode();protectedObjectclone()throwsCloneNotSupportedException;publicStringtoString();……}Java中的所有类(不包括接口),都将继承上述方法9.1类的类型转换类的类型转换只能用在具有垂直继承关系的父子类上,不能用在兄弟类上子类转换为父类,属于自动类型转换父类转换为子类,属于强制类型转换publicclassA{}publicclassBextendsA{}publicclassCextend
3、sA{}publicclassProg9_1{publicstaticvoidmain(Stringargv[]){Aa1=newA();Bb1=newB();Cc1=newC();a1=b1;a1=c1;b1=(B)a1;//b1=(B)c1;无法通过编译}}例:publicclassProg9_2{publicstaticvoidmain(Stringargv[]){Aa1=newA();Bb1=newB();Cc1=newC();a1=c1;//b1=(B)a1;无法运行}}9.2对象之间的比较运算对象之间的比较运算有两种类型:比较二个对象变量所指的对象实例是否是同一
4、个对象实例通过运算符“==”加以判断比较二个对象变量所指的对象实例的成员变量的值是否相同通过改写根类Object方法equals()加以判断例:算符==与方法equals()的比较Stringstr1=newString("Hello");Stringstr2=newString("Hello");Stringstr3="Hello";Stringstr4="Hello";System.out.println(str1==str2);System.out.println(str3==str4);System.out.println(str1.equals(str2));Sy
5、stem.out.println(str3.equals(str4));str1Hellostr2Hellostr4str3Hello=false=true=true=truepublicclassStringEquals1{publicstaticvoidmain(Stringargv[]){Stringstr1=newString("Hello");Stringstr2=newString("Hello");Stringstr3=newString("Java");Stringstr4=str1;System.out.println(str1==str2);System
6、.out.println(str1==str3);System.out.println(str1==str4);}}publicclassStringEquals2{publicstaticvoidmain(Stringargv[]){Stringstr1=newString("Hello");Stringstr2=newString("Hello");Stringstr3=newString("Java");Stringstr4=str1;System.out.println(str1.equals(str2));System.out.println(str1.equal
7、s(str3));System.out.println(str1.equals(str4));}}例:运行结果:运行结果:9.3散列码(hash码)何为散列码散列(hash):一种表示数据内容和数据存放地址之间的映射关系散列码:表示数据内容所存放地址的一个索引值Java规定:两个对象实例的数值如果相同,则它们的散列码也必须相同但Java中并没有提供实现上述规定的通用方法,必须由用户自选编程实现具体做法:改写Object类的hashCode()方法publicclassMyObject{publicintdata;p
此文档下载收益归作者所有