本文首發於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/java
對的。此次也是面試題,又是有點懵逼的一道題,記得當時只答出了wait跟notify。。。git
學java的都知道,Object是全部類的父類,可是相信不少人都忽略掉Object中的成員方法(包括我)。github
翻過官方文檔後,發現其實Object類成員方法能夠總結爲如下幾類面試
方法名 | 做用 | 注意 | |
---|---|---|---|
多線程操做 | wait | 線程等待,線程進入阻塞狀態 | / |
notify/notifyAll | 喚醒線程,線程回到就緒狀態 | / | |
垃圾回收 | finalize | 通知垃圾收集器回收對象 | 只是提醒,回收時間仍由垃圾收集器決定 |
對象克隆 | clone | 克隆對象) | protected方法,不能被直接調用,若想實現克隆經過實現Cloneable重寫clone方法實現 |
對象比較 | hashCode/equals | 判斷對象時候相等 | hashCode相等,equals不必定相等;equals相等,hashCode必定相等 |
獲取對象信息 | getClass | 獲取對象所屬類 | 在反射中比較經常使用 |
其實Object類的不少方法都很實用,多線程同步,對象比較等等,可是平時本身比較少關注,多是我菜雞。多線程
但願看到文章的大家能有所收穫,也但願我之後被問到這個不會再懵逼。post