无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java筆記--Object類

2023-09-09 14:02 作者:爪哇島江戶川  | 我要投稿

Object類是所有對(duì)象的父類,也稱基類,超類。

一、toString( );方法

作用:返回該對(duì)象的字符串表示。

我們新建一個(gè)A類,然后創(chuàng)建A類的對(duì)象a,然后分別打印a和a.toString( ),發(fā)現(xiàn)打印結(jié)果是相同的,因?yàn)榇蛴?duì)象名時(shí),會(huì)默認(rèn)調(diào)用該對(duì)象的toString方法。

我們進(jìn)入toString的源碼看一看:

其中g(shù)etClass( ).getName( ):類名稱,全類名(包名+類名)。

"@":分隔符。

Integer.toHexString( ):將傳入的參數(shù)轉(zhuǎn)換為十六進(jìn)制,以字符串形式表示。

hashCode( ):返回的是對(duì)象地址+哈希算法,算出來的整數(shù)(哈希值)。

如果我們想要看到對(duì)象的屬性信息,只需要在JavaBean中重寫toString方法。

二、equals( );方法

指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”。

Object類中的equals方法默認(rèn)比較對(duì)象的內(nèi)存地址。

那既然比交的是對(duì)象的地址我們還不如用“==”。

所以如果我們不滿意equals方法的內(nèi)容,我們可以重寫equals方法。

我們來看一看IDEA為我們生成的equals重寫方法:

this:誰調(diào)用誰就是this,傳入的參數(shù)就是o;

this == o;是讓兩個(gè)對(duì)象的地址作比較,如果對(duì)象的地址相同直接返回true;

如果地址不相同繼續(xù)往下走:

如果o = null,直接返回false,代碼如果走到這里,this一定不等于null,因?yàn)槿绻鹴his等于null會(huì)空指針異常,既然this不是null,o是null,一定不相等。

this.Class != o.getClass;是比較兩個(gè)的字節(jié)碼文件是否相同,如果字節(jié)碼文件相同,這兩個(gè)對(duì)象就是同一個(gè)類型。

Objects:

Objects類繼承于Object類,從jdk1.7開始的。

Objects所使用的equals依賴于我們自己所重寫的equals方法。

Objects的好處:內(nèi)部帶有一個(gè)非空判斷。

假設(shè)stu1為null的情況下

我們?nèi)フ{(diào)用這個(gè)equals方法

一定會(huì)引發(fā)空指針異常

如果我們使用Objects去調(diào)用equals這個(gè)方法

雖然我們的stu1是null,但是并沒有引發(fā)異常,程序還可以繼續(xù)往下走。


Java筆記--Object類的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
兖州市| 永靖县| 康马县| 松潘县| 望都县| 梨树县| 阿拉善盟| 仁化县| 德昌县| 河北区| 新营市| 五常市| 滁州市| 荣成市| 二连浩特市| 疏附县| 左权县| 玉溪市| 马关县| 类乌齐县| 湾仔区| 丰原市| 安康市| 镇康县| 筠连县| 南雄市| 华蓥市| 富宁县| 敦煌市| 永州市| 奉节县| 扬中市| 闸北区| 克什克腾旗| 清河县| 通海县| 汨罗市| 拜城县| 长岛县| 杨浦区| 庐江县|