更新時(shí)間:2020-05-08 16:35:18 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2309次
Java中的Object方法在面試中是一個(gè)非常高頻的點(diǎn),畢竟Object是所有類(lèi)的“老祖宗”。Java中所有的類(lèi)都有一個(gè)共同的祖先Object類(lèi),子類(lèi)都會(huì)繼承所有Object類(lèi)中的public方法。
先看下Object的類(lèi)結(jié)構(gòu)(快捷鍵:alt+7):
1.getClass方法
final方法、獲取對(duì)象的運(yùn)行時(shí)class對(duì)象,class對(duì)象就是描述對(duì)象所屬類(lèi)的對(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中兩者是一樣的。子類(lèi)一般都要重寫(xiě)這個(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ì)象,一般子類(lèi)都有覆蓋。默認(rèn)返回格式如下:對(duì)象的class名稱(chēng)+@+hashCode的十六進(jìn)制字符串。
6.notify方法
final方法,主要用于喚醒在該對(duì)象上等待的某個(gè)線(xiàn)程。
7.notifyAll方法
final方法,主要用于喚醒在該對(duì)象上等待的所有線(xiàn)程。
8.wait(longtimeout)方法
wait方法就是使當(dāng)前線(xiàn)程等待該對(duì)象的鎖,當(dāng)前線(xiàn)程必須是該對(duì)象的擁有者,也就是具有該對(duì)象的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(longtimeout)設(shè)定一個(gè)超時(shí)間隔,如果在規(guī)定時(shí)間內(nèi)沒(méi)有獲得鎖就返回。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“基礎(chǔ)入門(mén)Java中object類(lèi)的方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743