程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 簡介Java編程中的Object類

簡介Java編程中的Object類

編輯:關於JAVA

簡介Java編程中的Object類。本站提示廣大學習愛好者:(簡介Java編程中的Object類)文章只能為提供參考,不一定能成為您想要的結果。以下是簡介Java編程中的Object類正文


Object 類位於 java.lang 包中,是一切 Java 類的先人,Java 中的每一個類都由它擴大而來。

界說Java類時假如沒有顯示的指明父類,那末就默許繼續了 Object 類。例如:

public class Demo{
  // ...
}

現實上是上面代碼的簡寫情勢:

public class Demo extends Object{
  // ...
}


在Java中,只要根本類型不是對象,例如數值、字符和布爾型的值都不是對象,一切的數組類型,不論是對象數組照樣根本類型數組都是繼續自 Object 類。

Object 類界說了一些有效的辦法,因為是根類,這些辦法在其他類中都存在,普通是停止了重載或籠罩,完成了各自的詳細功效。
equals() 辦法

Object 類中的 equals() 辦法用來檢測一個對象能否等價於別的一個對象,語法為:

  public boolean equals(Object obj)


例如:

obj1.equals(obj2);


在Java中,數據等價的根本寄義是指兩個數據的值相等。在經由過程 equals() 和“==”停止比擬的時刻,援用類型數據比擬的是援用,即內存地址,根本數據類型比擬的是值。

留意:
equals()辦法只能比擬援用類型,“==”可以比擬援用類型及根本類型。
當用 equals() 辦法停止比擬時,對類 File、String、Date 及包裝類來講,是比擬類型及內容而不斟酌援用的能否是統一個實例。
用“==”停止比擬時,符號雙方的數據類型必需分歧(可主動轉換的數據類型除外),不然編譯失足,而用 equals 辦法比擬的兩個數據只需都是援用類型便可。
hashCode() 辦法

散列碼(hashCode)是依照必定的算法由對象獲得的一個數值,散列碼沒有紀律。假如 x 和 y 是分歧的對象,x.hashCode() 與 y.hashCode() 根本上不會雷同。

hashCode() 辦法重要用來在聚集中完成疾速查找等操作,也能夠用於對象的比擬。

在 Java 中,對 hashCode 的劃定以下:
在統一個運用法式履行時代,對統一個對象挪用 hashCode(),必需前往雷同的整數成果——條件是 equals() 所比擬的信息都不曾被修改過。至於統一個運用法式在分歧履行期所得的挪用成果,無需分歧。
假如兩個對象被 equals() 辦法視為相等,那末對這兩個對象挪用 hashCode() 必需取得雷同的整數成果。
假如兩個對象被 equals() 辦法視為不相等,那末對這兩個對象挪用 hashCode() 不用發生分歧的整數成果。但是法式員應當認識到,對分歧對象發生分歧的整數成果,有能夠晉升hashTable(前面會學到,聚集框架中的一個類)的效力。

簡略地說:假如兩個對象雷同,那末它們的 hashCode 值必定要雷同;假如兩個對象的 hashCode 值雷同,它們其實不必定雷同。在 Java 標准外面劃定,普通是籠罩 equals() 辦法應當連帶籠罩 hashCode() 辦法。
toString() 辦法

toString() 辦法是 Object 類中界說的另外一個主要辦法,是對象的字符串表示情勢,語法為:

  public String toString()


前往值是 String 類型,用於描寫以後對象的有關信息。Object 類中完成的 toString() 辦法是前往以後對象的類型和內存地址信息,但在一些子類(如 String、Date 等)中停止了 重寫,也能夠依據須要在用戶自界說類型中重寫 toString() 辦法,以前往更實用的信息。

除顯式挪用對象的 toString() 辦法外,在停止 String 與其它類型數據的銜接操作時,會主動挪用 toString() 辦法。

以上幾種辦法,在Java中是常常用到的,這裡僅作簡略引見,讓年夜家對Object類和其他類有所懂得,具體解釋請參考 Java API 文檔。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved