乐趣区

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 类的很多方法都很实用,多线程同步,对象比较等等,但是平时自己比较少关注,可能是我菜鸡。

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

退出移动版