更新時(shí)間:2020-08-11 17:03:01 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2740次
Java中的Object方法在面試中是一個(gè)非常高頻的點(diǎn),畢竟Object是所有類的“老祖宗”。Java中所有的類都有一個(gè)共同的祖先Object類,子類都會(huì)繼承所有Object類中的public方法。

1.getClass方法
final方法、獲取對(duì)象的運(yùn)行時(shí)class對(duì)象,class對(duì)象就是描述對(duì)象所屬類的對(duì)象。這個(gè)方法通常是和Java反射機(jī)制搭配使用的。
2.hashCode方法
該方法主要用于獲取對(duì)象的散列值。Object中該方法默認(rèn)返回的是對(duì)象的堆內(nèi)存地址。
3.equals方法
該方法用于比較兩個(gè)對(duì)象,如果這兩個(gè)對(duì)象引用指向的是同一個(gè)對(duì)象,那么返回true,否則返回false。一般equals和==是不一樣的,但是在Object中兩者是一樣的。子類一般都要重寫這個(gè)方法。
4.clone方法
該方法是保護(hù)方法,實(shí)現(xiàn)對(duì)象的淺復(fù)制,只有實(shí)現(xiàn)了Cloneable接口才可以調(diào)用該方法,否則拋出CloneNotSupportedException異常。
默認(rèn)的clone方法是淺拷貝。所謂淺拷貝,指的是對(duì)象內(nèi)屬性引用的對(duì)象只會(huì)拷貝引用地址,而不會(huì)將引用的對(duì)象重新分配內(nèi)存。深拷貝則是會(huì)連引用的對(duì)象也重新創(chuàng)建。
5.toString方法
返回一個(gè)String對(duì)象,一般子類都有覆蓋。默認(rèn)返回格式如下:對(duì)象的class名稱+ +hashCode的十六進(jìn)制字符串。
6.notify方法
final方法,主要用于喚醒在該對(duì)象上等待的某個(gè)線程。
7.notifyAll方法
final方法,主要用于喚醒在該對(duì)象上等待的所有線程。
8.wait(long timeout)方法
wait方法就是使當(dāng)前線程等待該對(duì)象的鎖,當(dāng)前線程必須是該對(duì)象的擁有者,也就是具有該對(duì)象的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(long timeout)設(shè)定一個(gè)超時(shí)間隔,如果在規(guī)定時(shí)間內(nèi)沒(méi)有獲得鎖就返回。

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java常用的類方法之Object類”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)