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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sd6628611 中级黑马   /  2015-11-17 21:32  /  524 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Object类:
        (1)是所有类的根类,超类。
           java中提供的类以及我们自定义的类都直接或者间接的继承自Object类。
        (2)Object类中的方法
                A:void finalize()
                  当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
                B:Class getClass()
                  获取对象的字节码文件的描述类,后面再讲反射的时候还会在说这个类。
                  String name = s.getClass().getName();
                C:int hashCode()
                  获取对象的哈希值。其实就是对象的内存地址值十进制表示
                D:String toString()
                  返回对象的字符串表示。
                  表示格式:
                  getClass().getName()+"@"+Integer.toHexString(hashCode());
                  一般我们输出对象名的时候,其实底层调用的就是该对象的toString()方法。
                  这种返回没有意义,所以,我们会重写这个方法,显示类的成员变量信息。
                E:boolean equals(Object obj)
                  用于比较两个对象的地址值是否相同。
                  我们获取对象后,比较它的地址值意义不大。所以也会对这个方法进行重写。
                  重写要完成什么功能,是根据需求定的。
        (3)==equals的用法:
                A:==怎么用?
        可以用于比较基本数据类型,比较的就是基本数据类型的值是否相等。
        可以用于比较引用数据类型,比较的是对象的地址值是否相等。
                B:equals怎么用?
                        equals只能用于比较引用数据类型的。
        Object提供的equals是用于比较对象地址值是否相同。
        自定义类中,如果重写了equals方法,那么就是按照你自己的需求来比较的。

0 个回复

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