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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© b277967086 中级黑马   /  2015-4-19 09:54  /  257 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。

2 个回复

正序浏览
共同学习
回复 使用道具 举报
请多多指教
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马