大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java object類作用及object類有哪些

Java object類作用及object類有哪些

更新時間:2020-05-11 16:36:42 來源:動力節(jié)點 瀏覽4229次

 Java object類作用及object類有哪些,Object類存儲在java.lang包中,是所有java類(Object類除外)的終極父類。當然,數(shù)組也繼承了Object類。然而,接口是不繼承Object類的,原因在這里指出:Section9.6.3.4oftheJavaLanguageSpecification:“Object類不作為接口的父類”。

image.png

Java的任何類都繼承了這些函數(shù),并且可以覆蓋不被final修飾的函數(shù)。例如,沒有final修飾的toString()函數(shù)可以被覆蓋,但是finalwait()函數(shù)就不行。

因為編譯器會自動引入java.lang包中的類型,即importjava.lang.Object;沒必要聲明出來。Java也沒有強制聲明“繼承Object類”。如果這樣的話,就不能繼承除Object類之外別的類了,因為java不支持多繼承。然而,即使不聲明出來,也會默認繼承了Object類。

1.clone方法

保護方法,實現(xiàn)對象的淺復制,只有實現(xiàn)了Cloneable接口才可以調(diào)用該方法,否則拋出CloneNotSupportedException異常。

淺克隆(也叫做淺拷貝)僅僅復制了這個對象本身的成員變量,該對象如果引用了其他對象的話,也不對其復制。

Object的clone()方法、深拷貝、淺拷貝

查看Object源碼中clone()方法的實現(xiàn):

protectednativeObjectclone()throwsCloneNotSupportedException;

clone()方法的訪問權(quán)限是protected,因為你的例程不是在java.lang包中,protected類型只能在本包和子類中訪問。

native關(guān)鍵字

簡單地講,一個nativemethod就是一個java調(diào)用非java代碼的接口。

說明其修飾的方法是一個原生方法,方法對應(yīng)的實現(xiàn)不是在當前文件,而是在用其他語言(如C和C++)實現(xiàn)的文件中。

Java語言本身不能對操作系統(tǒng)底層進行訪問和操作,但是可以通過JNI接口調(diào)用其他語言來實現(xiàn)對底層的訪問。

2.getClass方法

final方法,獲得運行時類型。

3.toString方法

該方法用得比較多,一般子類都有覆蓋。

4.finalize方法

該方法用于釋放資源。因為無法確定該方法什么時候被調(diào)用,很少使用。

Java允許在類中定義一個名為finalize()的方法。它的工作原理是:一旦垃圾回收器準備好釋放對象占用的存儲空間,將首先調(diào)用其finalize()方法。并且在下一次垃圾回收動作發(fā)生時,才會真正回收對象占用的內(nèi)存。

5.equals方法

該方法是非常重要的一個方法。一般equals和==是不一樣的,但是在Object中兩者是一樣的。子類一般都要重寫這個方法。

publicbooleanequals(Objectvar1){
returnthis==var1;
}

equals()方法和==運算符比較

equals()方法可以用來檢查一個對象與調(diào)用這個equals()的這個對象是否相等。

雖然“==”運算符可以比較兩個數(shù)據(jù)是否相等,但是要來比較對象的話,恐怕達不到預期的結(jié)果。

就是說,“==”通過是否引用了同一個對象來判斷兩個對象是否相等,這被稱為“引用相等”。這個運算符不能通過比較兩個對象的內(nèi)容來判斷它們是不是邏輯上的相等。

6.hashCode方法

該方法用于哈希查找,可以減少在查找中使用equals的次數(shù),重寫了equals方法一般都要重寫hashCode方法。這個方法在一些具有哈希功能的Collection中用到。

一般必須滿足obj1.equals(obj2)==true,可以推出obj1.hashCode()==obj2.hashCode(),但是hashCode相等不一定就滿足equals。不過為了提高效率,應(yīng)該盡量使上面兩個條件接近等價。

如果不重寫hashcode(),在HashSet中添加兩個equals的對象(因為對象地址不一樣,會認為是2個不同的對象),會將兩個對象都加入進去。

7.wait方法

wait方法就是使當前線程等待該對象的鎖,當前線程必須是該對象的擁有者,也就是具有該對象的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(longtimeout)設(shè)定一個超時間隔,如果在規(guī)定時間內(nèi)沒有獲得鎖就返回。

調(diào)用該方法后當前線程進入睡眠狀態(tài),直到以下事件發(fā)生。

其他線程調(diào)用了該對象(Object)的notify方法。

其他線程調(diào)用了該對象(Object)的notifyAll方法。

其他線程調(diào)用了interrupt中斷該線程。

時間間隔到了。

此時該線程就可以被調(diào)度了,如果是被中斷的話就拋出一個InterruptedException異常。

8.notify方法

該方法喚醒在該對象(Object)上等待的某個線程。

9.notifyAll方法

該方法喚醒在該對象上等待的所有線程。

21 拷貝.jpg

以上就是動力節(jié)點java培訓機構(gòu)的小編針對“Java架構(gòu)師全套體系視頻,微服務(wù)架構(gòu)”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产亚洲精品久久久久91网站 | 成人a视频片在线观看免费 成人a视频在线观看 | 久久精品网址 | 亚洲精品一区二区综合 | 婷婷综合久久狠狠色99h | 亚洲欧美综合国产不卡 | 欧美黄色三级视频 | 毛片网站大全 | 性生活免费网站 | 亚洲精品资源在线 | 天天操天天干天搞天天射 | 欧美综合中文字幕久久 | 水中色av综合 | 99国产在线视频 | 亚洲国产一区二区三区四区 | 国内精品久久久久久影院8f | 国产看片网站 | 国产人成久久久精品 | 日本一视频一区视频二区 | 秒播影视 午夜福利毛片 | 欧美日韩视频精品一区二区 | 三a毛片 | 国产一区二区三区欧美精品 | 亚洲免费视频播放 | 91在线视频网址 | 国产xxx视频 | 精品久久一区二区三区 | 国产一区免费在线观看 | 超碰在线小说 | 欧美日韩第二页 | 狠狠的日视频 | 婷婷亚洲五月色综合 | 国产一区二区三区高清视频 | 中文字幕亚洲一区 | 日本亚洲精品一区二区三区 | 91精品国产免费久久久久久青草 | 亚洲无吗在线视频 | 欧美日本中文字幕 | 性成人动作片在线看 | 欧美成人看片 | 亚洲欧美日韩中文字幕在线一区 |