黑马程序员技术交流社区

标题: Object类 [打印本页]

作者: ytooo00    时间: 2015-5-13 21:39
标题: Object类
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方法,那么就是按照你自己的需求来比较的。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2