Object類的分析
包在使用的時候無需顯示匯入,編譯時由編譯器自動匯入。
Object類是類層次結構的根,Java中所有的類從根本上都繼承自這個類。
Object類是Java中唯一沒有父類的類。
其他所有的類,包括標準容器類,比如數組,都繼承了Object類中的方法。
操作方法
(01)Object類中的方法構造方法:public Object()文檔中的類概覽:Java中的每個類都具有定義在Object類中的這些方法。
(02)protected Object clone()Creates and returns a copy of this ct類中的說明是:protected Object clone()throws CloneNotSupportedException這個方法比較特殊:首先,使用這個方法的類必須實現eable接口,否則會拋出CloneNotSupportedException異常。Cloneable接口中不包含任何方法,所以實現它時只要在類聲明中加上implements語句即可。第二個比較特殊的地方在於這個方法是protected修飾的,覆寫clone()方法的時候需要寫成public,才能讓類外部的代碼調用。
(03)boolean equals(Object obj)“==”運算符判斷兩個引用是否指向同一個對象。對於Object類的equals()方法來說,它判斷調用equals()方法的引用於傳進來的引用是否一致,即這兩個引用是否指向的是同一個對象。Object類中的equals()方法如下:public boolean equals(Object obj){return (this == obj);//Indicates whether some other object is "equal to" this one.}即Object類中的equals()方法等價於==。只有當繼承Object的類覆寫(override)了equals()方法之後,繼承類實現了用equals()方法比較兩個對象是否相等,纔可以說equals()方法與==的不同。equals()方法需要具有如下特點:自反性(reflexive):任何非空引用x,ls(x)返回爲true。對稱性(symmetric):任何非空引用x和y,ls(y)返回true當且僅當ls(x)返回true。傳遞性(transitive):任何非空引用x和y,如果ls(y)返回true,並且ls(z)返回true,那麼ls(z)返回true。一致性(consistent):兩個非空引用x和y,ls(y)的多次調用應該保持一致的結果,(前提條件是在多次比較之間沒有修改x和y用於比較的相關資訊)。約定:對於任何非空引用x,ls(null)應該返回爲false。並且覆寫equals()方法時,應該同時覆寫hashCode()方法,反之亦然。
(04)int hashCode()Returns a hash code value for the object.當你覆寫(override)了equals()方法之後,必須也覆寫hashCode()方法,反之亦然。這個方法返回一個整型值(hash code value),如果兩個對象被equals()方法判斷爲相等,那麼它們就應該擁有同樣的hash code。Object類的hashCode()方法爲不同的對象返回不同的值,Object類的hashCode值表示的是對象的地址。hashCode的一般性契約(需要滿足的條件)如下:1.在Java應用的一次執行過程中,如果對象用於equals比較的資訊沒有被修改,那麼同一個對象多次調用hashCode()方法應該返回同一個整型值。應用的多次執行中,這個值不需要保持一致,即每次執行都是保持着各自不同的值。2.如果equals()判斷兩個對象相等,那麼它們的hashCode()方法應該返回同樣的值。3.並沒有強制要求如果equals()判斷兩個對象不相等,那麼它們的hashCode()方法就應該返回不同的值。即,兩個對象用equals()方法比較返回false,它們的hashCode可以相同也可以不同。但是,應該意識到,爲兩個不相等的對象產生兩個不同的hashCode可以改善哈希表的性能。
(05)String toString()Returns a string representation of the object.當打印引用,如調用tln()時,會自動調用對象的toString()方法,打印出引用所指的對象的toString()方法的返回值,因爲每個類都直接或間接地繼承自Object,因此每個類都有toString()方法。Object類中的toString()方法定義如下:public String toString(){return getClass()ame() + "@" + xString(hashCode());}
-
郵箱快速註冊,不用手機號
如何快速註冊郵箱?如何不用手機號註冊郵箱?僅以TOM郵箱爲例。操作方法(01)點擊連接進入TOM郵箱註冊頁面輸入郵箱賬號等資訊(02)選擇微信註冊,拿出手機掃一掃即可完成註冊特別提示使用微信掃一掃,不用手機號和驗證碼...
-
Steam錯誤代碼118最新解決方案
Steam商店錯誤代碼118怎麼解決?Steam商城進不去,提示錯誤代碼118應該怎麼解決呢?大家不用擔心,Steam錯誤代碼118是電腦自身網絡解析出現了問題,我們改下網絡設定即可解決問題。那麼,具體要怎麼操作呢?接下來小編就給大家詳細說說Steam錯誤代碼118的解決方法,趕緊GET起...
-
電腦顯示屏幕不亮 筆記本不能開機啓動
電腦非正常關機或者用久了,再次開啟,突然打不開了,屏幕顯示不亮,連繫統都進不了怎麼回事?何種情況下,需要維修?操作方法(01)第一檢視信號指示燈。先是判斷實際能否開機,若開機了指示燈會有閃爍。黑屏有時並非全黑屏,仔細看是灰屏,此時信號燈開機時有閃爍。說明硬件沒有問題...
-
塞爾達傳說 支線消失的咕咕雞 任務攻略
很多小夥伴可能不瞭解塞爾達咕咕雞任務,非常好奇想要知道,那麼我就來解答一下這個問題吧,具體內容請看下文:塞爾達咕咕雞任務一共7只雞分佈在村莊裏,但是在地圖上並沒有任何的提示,尋找起來頗費一番功夫。操作方法(01)在地圖上找到卡卡利科村,點進去;(02)跟丟雞的老爺爺對...