Object類

package cn.itcast.object;

java是面向?qū)ο蟮恼Z言,核心思想:找適合 的對象做適合 的事情:

  • 方式一:自定義類忘苛,然后通過自定義的類創(chuàng)建對象。

  • 方式二:sun提供了很多的類給我使用唱较,我們只需要認識這些類扎唾,我們就可以通過這些類創(chuàng)建對象了。

Object類是所有類的終極父類南缓。 任何一個類都繼承了Object類胸遇。

Object類:

Object類常用的方法:
toString(); 返回該對象的字符串表示。 返回一個字符串用于描述該對象的汉形。
疑問: toString() 有何作用狐榔? 重寫toString之后,我們直接輸出一個對象的時候获雕,就會輸出符合我們所需求的格式數(shù)據(jù)。

  • equals(Object obj) 用于比較兩個對象的內(nèi)存地址收捣,判斷兩個對象是否為同一個對象届案。

  • hashCode() 返回該對象的哈希碼值(大家可以把哈希碼就 理解成是對象的內(nèi)存地址)

java中的規(guī)范:一般我們重寫了一個類的equals方法,我們都會重寫它的hashCode方法罢艾。

java是開源....源代碼公開...

查看源代碼的方式:

  • 方式一: 按住ctrl鍵楣颠,單擊你需要看的源代碼.

  • 方式二:把光標移動到你需要查看代碼處按下F3.

為什么我們要查看源代碼:

  • 1,查看源代碼可以了解別人是如何寫出這個技術(shù)的咐蚯,讓我們了解的更加的深入童漩。
    1. 吸收大牛的思想。

看源代碼最忌諱的一點: 不要每行代碼都弄懂是什么意思春锋,能看個大概 猜出他意思就足矣矫膨。

class Person{
    
    int id;
    
    String name;

    public Person(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public Person() {
    }
    
    /目前我需要直接輸出一個對象的時候,輸出 的格式是: 編號:110 姓名: 狗娃  這種格式。 目前Object的
    /toString方法無法滿足子類的需求侧馅,那么這時候我們就應該對Object類的toString進行重寫危尿。
    @Override
    public String toString() {
        return "編號:"+ this.id + " 姓名:"+this.name;
    }
    
    
    /為什么要重寫:Object的equals方法默認比較的是兩個對象的內(nèi)存地址,我目前需要比較的是兩個對象的身份證馁痴,所以Object類的equals方法不符合我現(xiàn)在的需求谊娇。
    @Override
    public boolean equals(Object obj) { 
        Person p  = (Person)obj;
        return this.id== p.id;
    }
    
    @Override
    public int hashCode() {
        return  this.id;
    }
    
        
}
public class Demo1 {

    public static void main(String[] args) {

        Object o = new Object();
        System.out.println(o.toString());  / java.lang.Object@18b3364    返回的字符串表示: 完整類名+@+ 對象的哈希碼
        System.out.println(o);  / 通過查看源代碼得知,直接輸出一個對象 的時候罗晕,實際上在println方法內(nèi)部會調(diào)用這個 調(diào)用的toString方法济欢,把把toString方法返回的內(nèi)容輸出。
        /疑問: 為什么直接輸出一個對象的時候和輸出對象的toString方法返回的字符串結(jié)果是一樣的呢小渊?
        
        
        Person  p1 = new Person(110,"狗娃");
        System.out.println("p1:"+p1);  
        /如果我們能夠輸出一個p對象的時候法褥,輸出的格式: 編號:110 姓名: 狗娃..
        Person  p2 = new Person(112,"狗剩");
        System.out.println("p2:"+p2);  
    
        
        
        Person p1 = new Person(110,"狗娃");
        Person p2 = new Person(110,"陳富貴");
        /需求:在現(xiàn)實生活中只要兩個人的身份證一致,那么就是同一個人粤铭。
        System.out.println("p1與p2是同一個對象嗎挖胃?"+ p1.equals(p2));
        
        System.out.println("p1哈希碼:"+ p1.hashCode());
        System.out.println("p2哈希碼:"+ p2.hashCode());    
    }
}

注意1:
==比較兩個字符串內(nèi)存地址是否一致
equals比較兩個字符串的內(nèi)容是否一致

小技巧:
不推薦: if(變量.equals("常量"))
推薦: if(常量.equals("變量"))
因為常量永遠不會為空.
變量如果為空就會引起崩潰.因為空對象沒有equals函數(shù).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市梆惯,隨后出現(xiàn)的幾起案子酱鸭,更是在濱河造成了極大的恐慌,老刑警劉巖垛吗,帶你破解...
    沈念sama閱讀 212,222評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凹髓,死亡現(xiàn)場離奇詭異,居然都是意外死亡怯屉,警方通過查閱死者的電腦和手機蔚舀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,455評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锨络,“玉大人赌躺,你說我怎么就攤上這事∠鄱” “怎么了礼患?”我有些...
    開封第一講書人閱讀 157,720評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長掠归。 經(jīng)常有香客問我缅叠,道長,這世上最難降的妖魔是什么虏冻? 我笑而不...
    開封第一講書人閱讀 56,568評論 1 284
  • 正文 為了忘掉前任肤粱,我火速辦了婚禮,結(jié)果婚禮上厨相,老公的妹妹穿的比我還像新娘领曼。我一直安慰自己鸥鹉,他們只是感情好,可當我...
    茶點故事閱讀 65,696評論 6 386
  • 文/花漫 我一把揭開白布悯森。 她就那樣靜靜地躺著宋舷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓢姻。 梳的紋絲不亂的頭發(fā)上祝蝠,一...
    開封第一講書人閱讀 49,879評論 1 290
  • 那天,我揣著相機與錄音幻碱,去河邊找鬼绎狭。 笑死,一個胖子當著我的面吹牛褥傍,可吹牛的內(nèi)容都是我干的儡嘶。 我是一名探鬼主播,決...
    沈念sama閱讀 39,028評論 3 409
  • 文/蒼蘭香墨 我猛地睜開眼恍风,長吁一口氣:“原來是場噩夢啊……” “哼蹦狂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起朋贬,我...
    開封第一講書人閱讀 37,773評論 0 268
  • 序言:老撾萬榮一對情侶失蹤凯楔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锦募,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摆屯,經(jīng)...
    沈念sama閱讀 44,220評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,550評論 2 327
  • 正文 我和宋清朗相戀三年糠亩,在試婚紗的時候發(fā)現(xiàn)自己被綠了虐骑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,697評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡赎线,死狀恐怖廷没,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垂寥,我是刑警寧澤腕柜,帶...
    沈念sama閱讀 34,360評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站矫废,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏砰蠢。R本人自食惡果不足惜蓖扑,卻給世界環(huán)境...
    茶點故事閱讀 40,002評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望台舱。 院中可真熱鬧律杠,春花似錦潭流、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,782評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嗓奢,卻和暖如春讼撒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背股耽。 一陣腳步聲響...
    開封第一講書人閱讀 32,010評論 1 266
  • 我被黑心中介騙來泰國打工根盒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人物蝙。 一個月前我還...
    沈念sama閱讀 46,433評論 2 360
  • 正文 我出身青樓炎滞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親诬乞。 傳聞我的和親對象是個殘疾皇子册赛,可洞房花燭夜當晚...
    茶點故事閱讀 43,587評論 2 350

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