0%

Object的成员方法以及作用

    本文首发于cartoon的博客

    转载请注明出处:https://cartoonyu.github.io/cartoon-blog/post/java/object%E7%9A%84%E6%88%90%E5%91%98%E6%96%B9%E6%B3%95%E4%BB%A5%E5%8F%8A%E4%BD%9C%E7%94%A8/

前言

对的。这次也是面试题,又是有点懵逼的一道题,记得当时只答出了wait跟notify。。。

正文

学java的都知道,Object是所有类的父类,但是相信很多人都忽略掉Object中的成员方法(包括我)。

翻过官方文档后,发现其实Object类成员方法可以总结为以下几类

  方法名 作用 注意
多线程操作 wait 线程等待,线程进入阻塞状态 /
notify/notifyAll 唤醒线程,线程回到就绪状态 /
垃圾回收 finalize 通知垃圾收集器回收对象 只是提醒,回收时间仍由垃圾收集器决定
对象克隆 clone 克隆对象 protected方法,不能被直接调用,若想实现克隆通过实现Cloneable重写clone方法实现
对象比较 hashCode/equals 判断对象时候相等 hashCode相等,equals不一定相等;equals相等,hashCode一定相等
获取对象信息 getClass 获取对象所属类 在反射中比较常用

后话

其实Object类的很多方法都很实用,多线程同步,对象比较等等,但是平时自己比较少关注,可能是我菜鸡吧。

希望看到文章的你们能有所收获,也希望我以后被问到这个不会再懵逼。