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

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

Java object類作用及object類有哪些

更新時間:2020-05-11 16:36:42 來源:動力節點 瀏覽4403次

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

image.png

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

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

1.clone方法

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

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

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

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

protectednativeObjectclone()throwsCloneNotSupportedException;

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

native關鍵字

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

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

Java語言本身不能對操作系統底層進行訪問和操作,但是可以通過JNI接口調用其他語言來實現對底層的訪問。

2.getClass方法

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

3.toString方法

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

4.finalize方法

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

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

5.equals方法

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

publicbooleanequals(Objectvar1){
returnthis==var1;
}

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

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

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

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

6.hashCode方法

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

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

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

7.wait方法

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

調用該方法后當前線程進入睡眠狀態,直到以下事件發生。

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

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

其他線程調用了interrupt中斷該線程。

時間間隔到了。

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

8.notify方法

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

9.notifyAll方法

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

21 拷貝.jpg

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩中文字幕在线免费观看 | 4hu最新| 女人与女zzzoooxxxx | 亚洲宗合 | 国产91在线播放 | 中文字幕福利视频 | 国产福利一区二区精品视频 | 国产色av| 深夜在线 | 国产午夜精品视频 | 青草福利视频 | 亚洲精品tv久久久久久久久 | 亚洲日本人成中文字幕 | 国产一区二区三区日韩 | 亚洲精品a | 天天综合亚洲国产色 | 久久天天操 | 色综合久久中文综合网 | 一级白嫩美女毛片免费 | 国产亚洲精品第一区在线观看 | 久久久青草青青国产亚洲免观 | 欧美日韩国产综合一区二区三区 | 日本猛妇色xxxxx在线 | 久久久精品2018免费观看 | 久久伊人亚洲 | 九天玄帝诀免费完整观看 | 九九热在线视频播放 | 精品一区二区三区视频在线观看 | 久久国产影视 | 亚洲一区二区三区福利在线 | 成人a毛片| 欧美视频在线观看 | 久久国产精品久久久久久 | 综合色吧| 久久综合热88 | 99国产超薄丝袜足j在线播放 | 九九亚洲视频 | 亚洲视频在线观看一区 | 久久亚洲国产欧洲精品一 | 二级毛片免费观看全程 | 9966久久精品免费看国产 |