object類(lèi)的概述

object類(lèi)的概述

object類(lèi)是類(lèi)層次結(jié)構(gòu)的根類(lèi)钙姊,每個(gè)類(lèi)都使用object作為超類(lèi)塌忽。

即每個(gè)類(lèi)都直接或間接的繼承object類(lèi)呆馁。

object類(lèi)中方法介紹

hashCode

public int hashCode():返回對(duì)象的哈希碼值。

? 注意:哈希值是根據(jù)哈希算法計(jì)算出來(lái)的一個(gè)值吃衅,該值與地址值有關(guān)愧驱,但不是實(shí)際的值慰技。可理解為地址值组砚。

getClass

public final Class<?> getClass():返回object運(yùn)行時(shí)類(lèi)吻商,得到一個(gè)Class對(duì)象。返回的 Class 對(duì)象是由所表示類(lèi)的 static synchronized 方法鎖定的對(duì)象糟红。

? 在Class類(lèi)中有g(shù)etname()方法以 String 的形式返回此 Class 對(duì)象所表示的實(shí)體(類(lèi)艾帐、接口、數(shù)組類(lèi)盆偿、基本類(lèi)型或 void)名稱(chēng)柒爸。

toString

public String toString():返回該對(duì)象的字符串表示。
toString方法返回一個(gè)字符串事扭,它的值等于: 
getClass().getName() + '@' + Integer.toHexString(hashCode())
    
ps:Integer.toHexString()為Integer類(lèi)下一靜態(tài)方法捎稚,
public static String toHexString(int i):以十六進(jìn)制(基數(shù) 16)無(wú)符號(hào)整數(shù)形式返回一個(gè)整數(shù)參數(shù)的字符串表示形式。

源碼:
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

但toString方法返回的信息是無(wú)意義的。所以建議所以子類(lèi)重寫(xiě)改方法今野。

重寫(xiě)的格式為:把所有成員變量值返回即可葡公。但這樣不是最好,自動(dòng)生成即可条霜。

class Test{
  int num;
    
  @Override
  public String toString() {
      return "Test [num=" + num + "]";
  }
}

直接輸出一個(gè)對(duì)象的名稱(chēng)催什,就是調(diào)用改對(duì)象的toString()方法。

equals

public boolean equals(Object obj):指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”蛔外。
源碼:
public boolean equals(Object obj) {
return (this == obj);
}

==:

? 基本類(lèi)型:比較值是否相等。

? 引用類(lèi)型:比較其地址值是否相等溯乒。

該方法夹厌,默認(rèn)情況比較的是地址值,但是比較地址值意義不大裆悄,所以要重寫(xiě)改方法矛纹。

在方法重寫(xiě)時(shí)比較對(duì)象的成員變量值是否相同

重寫(xiě)代碼優(yōu)化:提高效率光稼,提高程序健壯性或南。

要想做到最好優(yōu)化還是自動(dòng)生成。(自動(dòng)生成時(shí)會(huì)和hascode()方法一起生成艾君。)

class Test{
  int num;
  String sfa;

  @Override
  public int hashCode() {
      final int prime = 31;
      int result = 1;
      result = prime * result + num;
      result = prime * result + ((sfa == null) ? 0 : sfa.hashCode());
      return result;
  }

  @Override
  public boolean equals(Object obj) {
      if (this == obj)
          return true;
      if (obj == null)
          return false;
      if (getClass() != obj.getClass())
          return false;
      Test other = (Test) obj;
      if (num != other.num)
          return false;
      if (sfa == null) {
          if (other.sfa != null)
              return false;
      } else if (!sfa.equals(other.sfa))
          return false;
      return true;
  }
}

注:此為eclipse生成可能與idea生成的有所不同采够,但效果一樣。

finalize

protected void finalize() throws Throwable :當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí)冰垄,由對(duì)象的垃圾回收器調(diào)用此方法蹬癌。

clone

protected Object clone() throws CloneNotSupportedException:創(chuàng)建并返回此對(duì)象的一個(gè)副本『绮瑁“副本”的準(zhǔn)確含義可能依賴(lài)于對(duì)象的類(lèi)逝薪。

Cloneable:此類(lèi)實(shí)現(xiàn)了Cloneable接口,以示Object.clone()方法合法的進(jìn)行對(duì)該類(lèi)的按字段復(fù)制蝴罪。

? Cloneable是一個(gè)標(biāo)記接口董济,表明實(shí)現(xiàn)該接口的類(lèi)可以實(shí)現(xiàn)對(duì)象的復(fù)制。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末要门,一起剝皮案震驚了整個(gè)濱河市虏肾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌欢搜,老刑警劉巖询微,帶你破解...
    沈念sama閱讀 212,222評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異狂巢,居然都是意外死亡撑毛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)藻雌,“玉大人雌续,你說(shuō)我怎么就攤上這事】韬迹” “怎么了驯杜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,720評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)做个。 經(jīng)常有香客問(wèn)我鸽心,道長(zhǎng),這世上最難降的妖魔是什么居暖? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,568評(píng)論 1 284
  • 正文 為了忘掉前任顽频,我火速辦了婚禮,結(jié)果婚禮上太闺,老公的妹妹穿的比我還像新娘糯景。我一直安慰自己,他們只是感情好省骂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,696評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布蟀淮。 她就那樣靜靜地躺著,像睡著了一般钞澳。 火紅的嫁衣襯著肌膚如雪怠惶。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,879評(píng)論 1 290
  • 那天轧粟,我揣著相機(jī)與錄音甚疟,去河邊找鬼。 笑死逃延,一個(gè)胖子當(dāng)著我的面吹牛览妖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播揽祥,決...
    沈念sama閱讀 39,028評(píng)論 3 409
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼讽膏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拄丰?” 一聲冷哼從身側(cè)響起府树,我...
    開(kāi)封第一講書(shū)人閱讀 37,773評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎料按,沒(méi)想到半個(gè)月后奄侠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,220評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡载矿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,550評(píng)論 2 327
  • 正文 我和宋清朗相戀三年垄潮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,697評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弯洗,死狀恐怖旅急,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情牡整,我是刑警寧澤藐吮,帶...
    沈念sama閱讀 34,360評(píng)論 4 332
  • 正文 年R本政府宣布,位于F島的核電站逃贝,受9級(jí)特大地震影響谣辞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沐扳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,002評(píng)論 3 315
  • 文/蒙蒙 一泥从、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迫皱,春花似錦歉闰、人聲如沸辖众。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,782評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凹炸。三九已至戏阅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間啤它,已是汗流浹背奕筐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,010評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留变骡,地道東北人离赫。 一個(gè)月前我還...
    沈念sama閱讀 46,433評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像塌碌,于是被迫代替她去往敵國(guó)和親渊胸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,587評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容