欢迎来到天天文库
浏览记录
ID:35478067
大小:83.59 KB
页数:12页
时间:2019-03-25
《javaobject类的作用和地位》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1Object类Object类是所有类的父类,位于java.lang包中数组也是Object类的子类Object类的常用方法-toString();-equals();-hashCode();Object类在java.lang包下,是所有类的根。任何类的对象,都可以调用Object类中的方法,包括数组对象。例:publicclassExample{publicvoidf(Objectobj){}}publicclassTest{publicstaticvoidmain(){Exampleexam=newEx
2、ample();int[]array=newint[4];•・・•••〃任何数组exam.f(array);}}Object和Object]]之间的区别-方法中的形参是Object类型时,任何类型的参数都可以传进去执行。・方法中形参是Object]]类型时,只有对象数组可以传入执行。publicstaticvoidarrayTest(Object[]obj){}publicstaticvoidmain(){int[]array=newint[4];arrayTest(array)//错误出现}2Object
3、类中的常用方法toString方法;toString方法可以将任何一个对象转换成字符串返回/返回值的生成算法为:getClass().getName()+@+lnteger.toHexString(hashCode())0equals方法;Object类中的equals方法,用来比较两个弓I用的虚地址。当且仅当两个引用在物理上是同一个对象时,返回值为true,否则将返回false。任何类可以根据实际需要,覆盖toString及equals方法,实现自定义的逻辑。•打印对象时直接调用类的toString方法p
4、ublicstaticvoidmain(){Studentstu1=newStudent();stu1.setName(张三”);stu1.setAge(23);System.out.println(stu1);System.out.println(stu1);}打印:Student@152b6651;•类本身重写toString方法重写Student类的toString方法后publicstaticvoidmain(){Studentstu1=newStudent();stu1.setName('张三”)
5、;stu1.setAge(23);System.out.print!n(stu1);}打E/J:Student:name=张三,age=23publicclassStudent{privateStringname=”123”;//学生姓名privateintage;//年龄publicStringgetName(){returnname;}publicvoidsetName(Stringname){this,name=name;}publicintgetAge(){returnage;}publicvoid
6、setAge(intage){this.age=age;}〃重写toString方法}publicStringtoString(){return"Student:”+tfname=”+name+”,age=”+age;}equals方法和"=="•equals方法比较对象的虚地址,但是可以在类中被重写。女Q:String类重写了,两个相同值的String对象相比较为true;Stringstr=newString("123");Stringstr1=newString("123“);System.out.p
7、rintln(str.equals(str1));->打印为true.■比较的是内存中的虚地址Stringstr=newString("123");Stringstr1=newString("123");System.out.println(str==str1);->打E卩为falsehashCode方法hashCode方法-获取对象的哈希码值,为16进制equals方法与hashCode方法关系-如果两个对象使用equals比较返回true,那么它们的hashCode值一定要相同-如果两个对象equals
8、比较返回false,那么它们的hashCode值不一定不同-覆盖equals,往往需要覆盖hashCode,可以使用Eclipse自动生成,保证equals返回true,则hashCode相同;equals返回false,贝!JhashCode不同-在Set集合部分有实际应用写一个类Course,覆盖Object类中的toString方法,equals,hashCode方法,并写测试代码测试。packagecom
此文档下载收益归作者所有