- 相關(guān)推薦
Java語(yǔ)言O(shè)bject類(lèi)技巧
導(dǎo)語(yǔ):Object類(lèi)是Java語(yǔ)言中最根本的類(lèi)別,下面是該類(lèi)別的介紹,歡迎參考!
(1)是所有類(lèi)的根類(lèi),超類(lèi)。
java中提供的類(lèi)以及我們自定義的類(lèi)都直接或者間接的繼承自O(shè)bject類(lèi)。
(2)Object類(lèi)中的方法
A:void finalize()
當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法。
B:Class getClass()
獲取對(duì)象的字節(jié)碼文件的描述類(lèi),后面再講反射的時(shí)候還會(huì)在說(shuō)這個(gè)類(lèi)。
String name = s.getClass().getName();
C:int hashCode()
獲取對(duì)象的哈希值。其實(shí)就是對(duì)象的內(nèi)存地址值十進(jìn)制表示
D:String toString()
返回對(duì)象的字符串表示。
表示格式:
getClass().getName()+"@"+Integer.toHexString(hashCode());
一般我們輸出對(duì)象名的時(shí)候,其實(shí)底層調(diào)用的就是該對(duì)象的toString()方法。
這種返回沒(méi)有意義,所以,我們會(huì)重寫(xiě)這個(gè)方法,顯示類(lèi)的成員變量信息。
E:boolean equals(Object obj)
用于比較兩個(gè)對(duì)象的地址值是否相同。
我們獲取對(duì)象后,比較它的地址值意義不大。所以也會(huì)對(duì)這個(gè)方法進(jìn)行重寫(xiě)。
重寫(xiě)要完成什么功能,是根據(jù)需求定的。
(3)==和equals的用法:
A:==怎么用?
**可以用于比較基本數(shù)據(jù)類(lèi)型,比較的就是基本數(shù)據(jù)類(lèi)型的值是否相等。
**可以用于比較引用數(shù)據(jù)類(lèi)型,比較的是對(duì)象的地址值是否相等。
B:equals怎么用?
equals只能用于比較引用數(shù)據(jù)類(lèi)型的。
**Object提供的equals是用于比較對(duì)象地址值是否相同。
**自定義類(lèi)中,如果重寫(xiě)了equals方法,那么就是按照你自己的需求來(lái)比較的。
【Java語(yǔ)言O(shè)bject類(lèi)技巧】相關(guān)文章:
java語(yǔ)言類(lèi)的嵌入08-01
入門(mén)學(xué)習(xí)java語(yǔ)言的技巧04-09
學(xué)好Java語(yǔ)言的6個(gè)技巧02-02
Java語(yǔ)言Math類(lèi)的使用方法03-23
Java的類(lèi)07-19