getClass
public final Class getClass()
以Class形式表示的當前類
返回:表示此對象運行時類的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());????}?}
運行結果:
class?org.westos.Rmborg.westos.Rmborg.westos.Rmb
hashCode
public int hashCode()
返回該對象的哈希碼值
哈希碼值:一般是通過將該對象的內(nèi)部地址轉換成一個整數(shù)來實現(xiàn)的。
equals
public boolean equals(Object obj)
指示其他某個對象是否與此對象“相等”。
==對于引用變量來說是進行地址值的比較
按照正常情況:equals方法底層實際執(zhí)行的兩個對象在==進行比較(建議對此方法重寫)
注意:當此方法被重寫時,通常有必要重寫hashCode方法,以維護hashCode方法的常規(guī)協(xié)定,該協(xié)定聲明相等對象必須具有相等的哈希碼。
toString
public String toString()
直接輸出對象名稱:實際執(zhí)行了Object中的toString(),輸出的全類名 十六進制數(shù)據(jù)
等于:getClass().getName()+' '+Integer.toHexString(hashCode())
建議所有子類都重寫此方法。
不想讓toString()直接輸出的是一個地址值(對象的地址值),就需要重寫Object中的toSring(),一般情況:自動生成即可
clone
protected Object clone()
throws CloneNotSupportedException
創(chuàng)建并返回此對象的一個副本(相當于復制)
Object類的clone方法執(zhí)行特定的復制操作。首先,如果此對象的類不能實現(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的。
以上就是長沙中公優(yōu)就業(yè)java培訓機構的小編針對“Java中object類中常用的方法”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。