更新時(shí)間:2020-08-20 16:39:01 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2168次
getClass
public final Class getClass()
以Class形式表示的當(dāng)前類
返回:表示此對(duì)象運(yùn)行時(shí)類的Class對(duì)象。
Class類中有一個(gè)方法:public String getName()
以String的形式返回此Class對(duì)象所表示的實(shí)體(類、接口、數(shù)組類、基本類型或void)名稱。
運(yùn)行程序:
public?class?Dc?{
????public?static?void?main(String[]?args)?{
????????Rmb?a?=?new?Rmb();
????????Class?c?=?a.getClass();
????????System.out.println(c);
????????System.out.println(c.getName());
????????System.out.println(a.getClass().getName());
????}
?
}
運(yùn)行結(jié)果:
class?org.westos.Rmb
org.westos.Rmb
org.westos.Rmb
hashCode
public int hashCode()
返回該對(duì)象的哈希碼值
哈希碼值:一般是通過將該對(duì)象的內(nèi)部地址轉(zhuǎn)換成一個(gè)整數(shù)來實(shí)現(xiàn)的。
equals
public boolean equals(Object obj)
指示其他某個(gè)對(duì)象是否與此對(duì)象“相等”。
==對(duì)于引用變量來說是進(jìn)行地址值的比較
按照正常情況:equals方法底層實(shí)際執(zhí)行的兩個(gè)對(duì)象在==進(jìn)行比較(建議對(duì)此方法重寫)
注意:當(dāng)此方法被重寫時(shí),通常有必要重寫hashCode方法,以維護(hù)hashCode方法的常規(guī)協(xié)定,該協(xié)定聲明相等對(duì)象必須具有相等的哈希碼。
toString
public String toString()
直接輸出對(duì)象名稱:實(shí)際執(zhí)行了Object中的toString(),輸出的全類名 十六進(jìn)制數(shù)據(jù)
等于:getClass().getName()+' '+Integer.toHexString(hashCode())
建議所有子類都重寫此方法。
不想讓toString()直接輸出的是一個(gè)地址值(對(duì)象的地址值),就需要重寫Object中的toSring(),一般情況:自動(dòng)生成即可
clone
protected Object clone()
throws CloneNotSupportedException
創(chuàng)建并返回此對(duì)象的一個(gè)副本(相當(dāng)于復(fù)制)
Object類的clone方法執(zhí)行特定的復(fù)制操作。首先,如果此對(duì)象的類不能實(shí)現(xiàn)接口Cloneable,則會(huì)拋CloneNotSupportedException。
注意:所有的數(shù)組都被視為實(shí)現(xiàn)接口Cloneable
finalize
protected void finalize()
throws Throwable
這個(gè)方法在gc啟動(dòng),該對(duì)象被回收的時(shí)候被調(diào)用。其實(shí)gc可以回收大部分的對(duì)象(凡是new出來的對(duì)象,gc都能搞定,一般情況下我們又不會(huì)用new以外的方式去創(chuàng)建對(duì)象),所以一般是不需要程序員去實(shí)現(xiàn)finalize的。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中object類中常用的方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀