面試題之說幾個Object類常用方法以及作用

一、簡介

面試中經常會被問到Object類有哪些常用的方法和各自的作用,我們都知道Object類是所有類的基類,所以我們也有必要去了解它常見API,下面我們通過一張表來總結Object類有哪些常用方法以及作用:

方法返回值類型

方法名稱以及描述

protected Object

clone()

創建並返回此對象的克隆對象,一般子類會重寫這個方法.

boolean

equals(Object obj)

指示某個其他對象是否“等於”這個對象.

protected void

finalize()

當垃圾收集確定沒有對對象的更多引用時,由對象上的垃圾收集器調用

Class<?>

getClass()

返回此對象的運行時Class類對象

int

hashCode()

返回對象的哈希碼值

void

notify()

喚醒正在此對象監視器上等待的單個線程,主要用於多線程通信中,需配合wait()方法使用

void

notifyAll()

喚醒正在此對象監視器上等待的所有線程

String

toString()

返回對象的字符串表示形式

void

wait()

導致當前線程等待,直到另一個線程調用此對象的notify()方法或notifyAll()方法

void

wait(long timeout)

導致當前線程等待,直到另一個線程調用此對象的notify()方法或notifyAll()方法,或者經過指定的時間量

void

wait(long timeout, int nanos)

導致當前線程等待,直到另一個線程調用此對象的notify()方法或notifyAll()方法,或其他一些線程中斷當前線程,或已經過了一定時間

注意:wait()方法和notify()雖然是在多線程中使用到,需特別注意它不是Thread類的方法,注意sleep()睡眠方法纔是Thread類的,wait()和notify()、notifyall()方法是Object類的。

更多Object類的API可以參考JDK官網文檔:https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章