美文网首页
Object类中常见的方法

Object类中常见的方法

作者: 奇点一氪 | 来源:发表于2020-05-14 11:04 被阅读0次

    一.Object类中的toString()方法

      1. object 默认方法 toString方法,toString() 输出一个对象的地址字符串(哈希code码)!
    • 2.可以通过重写toString方法,获取对象的属性! 快捷键 alt+shift+s创建Override toString()

    二.Object类中的equals()方法

    Object类equals()比较的是对象的引用是否指向同一块内存地址!
    重写equals()方法比较俩对象的属性值是否相同

    Object()

    默认构造方法

    clone()

    创建并返回此对象的一个副本。

    finalize()

    当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

    getClass()

    返回一个对象的运行时类。

    hashCode()

    返回该对象的哈希码值。
    为什么wait notify会放在Object里边?

    wait(),notify(),notifyAll()用来操作线程为什么定义在Object类中?

    必须在synchronized中使用
    1、这些方法存在于同步中;
    2、使用这些方法必须标识同步所属的锁;
    3、锁可以是任意对象,所以任意对象调用方法一定定义在Object类中。

    wait(),sleep()区别?

    wait():释放资源,释放锁
    sleep():释放资源,不释放锁

    notify()

    唤醒在此对象监视器上等待的单个线程。

    notifyAll()

    唤醒在此对象监视器上等待的所有线程。

    wait()

    导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。

    wait(long timeout)

    导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量。

    wait(long timeout, int nanos)

    导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量。

    相关文章

      网友评论

          本文标题:Object类中常见的方法

          本文链接:https://www.haomeiwen.com/subject/dpaznhtx.html