黑马程序员技术交流社区

标题: 黑马程序员_Obeject类的总结 [打印本页]

作者: b277967086    时间: 2015-4-19 09:54
标题: 黑马程序员_Obeject类的总结
Object类
    (1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。
    (2)Object类的构造方法有一个,并且是无参构造
        这其实就是解释子类构造方法默认访问父类的构造是无参构造
    (3)要掌握的方法:
        A:toString()
            返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。

            这个表示其实是没有意义的,一般子类都会重写该方法,alt+shift+S可以重写方法。

@注意:直接输出一个对象名称,其实默认调用了该对象的toString()方法。


        B:equals()
            比较两个对象是否相同。默认情况下,比较的是地址值是否相同。

            而比较地址值是没有意义的,所以,一般子类也会重写该方法。

            alt+shift+S可以重写方法。

==和equals()的区别?
            A:==
                基本类型:比较的是值是否相同
                引用类型:比较的是地址值是否相同
            B:equals()
                只能比较引用类型。默认情况下,比较的是地址值是否相同。
                但是,我们可以根据自己的需要重写该方法。


  比如在学生类中重写toString()方法:
         @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }

这样当直接输出一个Student对象名称时,就会输出名字年龄

其他的方法:
        hashCode() 返回对象的哈希值。不是实际地址值,可以理解为地址值。
       getClass() 返回对象的字节码文件对象
        finalize() 用于垃圾回收,在不确定的时间
        clone() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。
作者: b277967086    时间: 2015-4-19 09:55
请多多指教
作者: Wilsoncyf    时间: 2015-4-19 09:56
共同学习




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