在Java中,所有的類(lèi)都是從Object類(lèi)繼承而來(lái)的,因此Object類(lèi)是Java中所有類(lèi)的父類(lèi)。Object類(lèi)提供了一些常用的方法,可以用來(lái)處理對(duì)象和對(duì)象數(shù)組。以下是Object類(lèi)中常用的方法:
equals(Object obj):比較兩個(gè)對(duì)象是否相等。默認(rèn)情況下,equals方法使用的是==操作符進(jìn)行比較,因此對(duì)于引用類(lèi)型的對(duì)象來(lái)說(shuō),比較的是兩個(gè)對(duì)象的引用是否相等。如果需要比較對(duì)象的內(nèi)容是否相等,需要重寫(xiě)equals方法。
hashCode():獲取對(duì)象的哈希碼。哈希碼是一個(gè)int類(lèi)型的值,用來(lái)標(biāo)識(shí)對(duì)象的唯一性。默認(rèn)情況下,哈希碼是根據(jù)對(duì)象的地址計(jì)算得到的,因此對(duì)于不同的對(duì)象,哈希碼一定不同。如果需要在使用哈希表等數(shù)據(jù)結(jié)構(gòu)時(shí)使用對(duì)象作為鍵值,需要重寫(xiě)hashCode和equals方法。
toString():將對(duì)象轉(zhuǎn)換成字符串表示。默認(rèn)情況下,toString方法返回對(duì)象的類(lèi)名和哈希碼,例如java.lang.Object@1234567。如果需要將對(duì)象的屬性以字符串形式輸出,需要重寫(xiě)toString方法。
以下是一個(gè)使用Object類(lèi)中常用方法的示例:
在上面的示例中,MyClass類(lèi)重寫(xiě)了equals、hashCode