更新時間:2020-08-20 16:39:01 來源:動力節(jié)點 瀏覽2488次
getClass
public final Class getClass()
以Class形式表示的當(dāng)前類
返回:表示此對象運行時類的Class對象。
Class類中有一個方法:public String getName()
以String的形式返回此Class對象所表示的實體(類、接口、數(shù)組類、基本類型或void)名稱。
運行程序:
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());
????}
?
}
運行結(jié)果:
class?org.westos.Rmb
org.westos.Rmb
org.westos.Rmb
hashCode
public int hashCode()
返回該對象的哈希碼值
哈希碼值:一般是通過將該對象的內(nèi)部地址轉(zhuǎn)換成一個整數(shù)來實現(xiàn)的。
equals
public boolean equals(Object obj)
指示其他某個對象是否與此對象“相等”。
==對于引用變量來說是進(jìn)行地址值的比較
按照正常情況:equals方法底層實際執(zhí)行的兩個對象在==進(jìn)行比較(建議對此方法重寫)
注意:當(dāng)此方法被重寫時,通常有必要重寫hashCode方法,以維護hashCode方法的常規(guī)協(xié)定,該協(xié)定聲明相等對象必須具有相等的哈希碼。
toString
public String toString()
直接輸出對象名稱:實際執(zhí)行了Object中的toString(),輸出的全類名 十六進(jìn)制數(shù)據(jù)
等于:getClass().getName()+' '+Integer.toHexString(hashCode())
建議所有子類都重寫此方法。
不想讓toString()直接輸出的是一個地址值(對象的地址值),就需要重寫Object中的toSring(),一般情況:自動生成即可
clone
protected Object clone()
throws CloneNotSupportedException
創(chuàng)建并返回此對象的一個副本(相當(dāng)于復(fù)制)
Object類的clone方法執(zhí)行特定的復(fù)制操作。首先,如果此對象的類不能實現(xiàn)接口Cloneable,則會拋CloneNotSupportedException。
注意:所有的數(shù)組都被視為實現(xiàn)接口Cloneable
finalize
protected void finalize()
throws Throwable
這個方法在gc啟動,該對象被回收的時候被調(diào)用。其實gc可以回收大部分的對象(凡是new出來的對象,gc都能搞定,一般情況下我們又不會用new以外的方式去創(chuàng)建對象),所以一般是不需要程序員去實現(xiàn)finalize的。

以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java中object類中常用的方法”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀