黑马程序员技术交流社区

标题: Object类 [打印本页]

作者: heima333    时间: 2017-3-6 15:03
标题: Object类
(1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。
        (2)Object类的构造方法有一个,并且是无参构造
                这其实就是理解当时我们说过,子类构造方法默认访问父类的构造是无参构造
        (3)要掌握的方法:
                A:toString()
                        返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。
                        这个表示其实是没有意义的,一般子类都会重写该方法。
                        如何重写呢?过程我也讲解过了,基本上就是要求信息简单明了。
                        但是最终还是自动生成。
                B:equals()
                        比较两个对象是否相同。默认情况下,比较的是地址值是否相同。
                        而比较地址值是没有意义的,所以,一般子类也会重写该方法。
                        重写过程,我也详细的讲解和分析了。
                        但是最终还是自动生成。
        (4)要了解的方法:
                A:hashCode() 返回对象的哈希值。不是实际地址值,可以理解为地址值。
                B:getClass() 返回对象的字节码文件对象,反射中我们会详细讲解       
                C:finalize() 用于垃圾回收,在不确定的时间
                D:clone() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。
        (5)两个注意问题;
                A:直接输出一个对象名称,其实默认调用了该对象的toString()方法。
                B:面试题
                        ==和equals()的区别?
                        A:==
                                基本类型:比较的是值是否相同
                                引用类型:比较的是地址值是否相同
                        B:equals()
                                只能比较引用类型。默认情况下,比较的是地址值是否相同。
                                但是,我们可以根据自己的需要重写该方法。




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