大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 国产美女a做受大片免费 | 精品在线一区二区 | 久草青草| 成年女人免费看一级人体片 | 免费看一级做a爰片久久 | 国产精品日韩欧美一区二区三区 | 999精品视频这里只有精品 | 日本一级毛片aaaaa | 日韩中文字幕精品久久 | 亚洲欧美日韩综合 | 四虎永久在线精品2022 | 国产成人一区二区三区在线视频 | 福利视频欧美一区二区三区 | 成人黄色毛片 | 亚洲加勒比久久88色综合一区 | 亚洲欧美强伦一区二区另类 | 99久久亚洲综合精品网站 | 第四色婷婷基地 | 国产精品欧美韩国日本久久 | 国产色婷婷精品综合在线观看 | 久久久久久久免费 | 本日黄色 | 九九99| 99精品久久久久中文字幕 | 日本亚洲欧洲免费无码 | 日韩久久一区二区三区 | 日本三级日本三级人妇三级四 | 中文字幕日韩一区二区 | 日韩一区二区精品久久高清 | 亚洲高清日韩精品第一区 | 日本中文一二区有码在线观看 | 国产精品久久久久久五月尺 | 日日插夜夜操 | 日韩一区二区三区中文字幕 | 亚洲精品亚洲人成毛片不卡 | 五月天婷婷在线免费观看 | 亚洲女人天堂a在线播放 | 美女操穴视频 | 成年女人视频网站免费m | 久久99热这里只有精品国产 | 四虎国产精品永久在线播放 |