這篇文章主要介紹“Object類有幾種方法”,在日常操作中,相信很多人在Object類有幾種方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”O(jiān)bject類有幾種方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
目前創(chuàng)新互聯(lián)建站已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、隆安網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
面試題
Object有幾種方法呢?
Java語言是一種單繼承結(jié)構(gòu)語言,Java中所有的類都有一個共同的祖先。這個祖先就是Object類。
如果一個類沒有用extends明確指出繼承于某個類,那么它默認繼承Object類。
Object的方法我們在平時基本都會用到,但如果沒有準備被忽然這么一問,還是有點懵圈的。
分析
Object類是Java中所有類的基類。位于java.lang包中,一共有13個方法。如下圖:
具體解答
1.Object()這個沒什么可說的,Object類的構(gòu)造方法。(非重點)
2.registerNatives()為了使JVM發(fā)現(xiàn)本機功能,他們被一定的方式命名。例如,對于java.lang.Object.registerNatives,對應的C函數(shù)命名為Java_java_lang_Object_registerNatives。
通過使用registerNatives(或者更確切地說,JNI函數(shù)RegisterNatives),可以命名任何你想要你的C函數(shù)。(非重點)
3.clone()clone()函數(shù)的用途是用來另存一個當前存在的對象。只有實現(xiàn)了Cloneable接口才可以調(diào)用該方法,否則拋出CloneNotSupportedException異常。(注意:回答這里時可能會引出設(shè)計模式的提問)
4.getClass()final方法,用于獲得運行時的類型。該方法返回的是此Object對象的類對象/運行時類對象Class。效果與Object.class相同。(注意:回答這里時可能會引出類加載,反射等知識點的提問)
5.equals()equals用來比較兩個對象的內(nèi)容是否相等。默認情況下(繼承自O(shè)bject類),equals和==是一樣的,除非被覆寫(override)了。(注意:這里可能引出更常問的“equals與==的區(qū)別”及hashmap實現(xiàn)原理的提問)
6.hashCode()該方法用來返回其所在對象的物理地址(哈希碼值),常會和equals方法同時重寫,確保相等的兩個對象擁有相等的hashCode。(同樣,可能引出hashmap實現(xiàn)原理的提問)
7.toString()toString()方法返回該對象的字符串表示,這個方法沒什么可說的。
8.wait()導致當前的線程等待,直到其他線程調(diào)用此對象的 notify() 方法或 notifyAll() 方法。(引出線程通信及“wait和sleep的區(qū)別”的提問)
9.wait(long timeout)導致當前的線程等待,直到其他線程調(diào)用此對象的 notify() 方法或 notifyAll() 方法,或者超過指定的時間量。(引出線程通信及“wait和sleep的區(qū)別”的提問)
10.wait(long timeout, int nanos)導致當前的線程等待,直到其他線程調(diào)用此對象的 notify() 方法或 notifyAll() 方法,或者其他某個線程中斷當前線程,或者已超過某個實際時間量。(引出線程通信及“wait和sleep的區(qū)別”的提問)
11.notify()喚醒在此對象監(jiān)視器上等待的單個線程。(引出線程通信的提問)
12.notifyAll()喚醒在此對象監(jiān)視器上等待的所有線程。(引出線程通信的提問)
13.finalize()當垃圾回收器確定不存在對該對象的更多引用時,由對象的垃圾回收器調(diào)用此方法。(非重點,但小心引出垃圾回收的提問)
引申常見問題
equals() 與 == 的區(qū)別是什么?
hashCode() 和 equals() 之間有什么聯(lián)系?
wait()方法與sleep()方法的區(qū)別
為什么重寫了equals就必須重寫hashCode
HashMap的實現(xiàn)原理
談談類加載機制
到此,關(guān)于“Object類有幾種方法”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享題目:Object類有幾種方法
路徑分享:http://www.chinadenli.net/article16/gicedg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、外貿(mào)建站、用戶體驗、靜態(tài)網(wǎng)站、網(wǎng)站營銷、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)