Object類中的方法 toString方法

2021-10-07 13:09:52 字數 1152 閱讀 5567

public string tostring()

從原始碼可以看出,tostring列印的是乙個類的:類路徑+@+hashcode值的十六進製制

顯然,父類object類中的tostring方法不能滿足子類student類的需求,所以我們需要在子類中重寫tostring方法,一般是輸出乙個物件的成員資訊比較合適,**可以採用自動生成的方法,**idea的快捷鍵是alt+ins,選擇tostring即可, eclipse的快捷鍵是alt+shift+s再按s

即:

student s =

newstudent()

;system.out.

println

(s);

輸出結果:

如果s是基本資料型別,輸出的是內容

如果s是物件,則輸出的是s的tostring方法

如果student類沒有重寫tostring方法,列印出來是這樣的:

pratice01.student1@5a07e868
如果student類重寫了tostring方法,那列印出來的就是我們重寫的樣子:

重寫的**:

@override

public string tostring()

';}

輸出結果:

student1
**理由:**為什麼會出現這種情況:

我們可以看下println的原始碼:

//把物件s傳進來

public

void

println

(object x)

}//把s傳進去

public

static string valueof

(object obj)

所以,綜上,

如果我們想直接列印出乙個物件的成員資訊,那麼該類就必須重寫父類object的tostring方法,沒有重寫的話列印時呼叫的是父類的tostring方法

Object類中的方法

hashcode 用於獲取物件的雜湊值,這個值的作用是檢索,具體的作用可以參考這裡 雜湊值相同的物件不一定equale equals 返回true的兩個物件一定相同。class package.name.在使用的時候要求在synchronize語句中使用 wait 用於讓當前執行緒失去操作許可權,當...

Object類中的方法 equals方法

public boolean equals object obj 從原始碼可以看得出來,預設父類object類的equals方法底層還是跟 一樣,比較的是位址值,而比較兩個物件的位址是沒有意義的,一般都是比較物件的成員是否相等.當父類方法無法滿足子類需要的時候,需要重寫 1 至於怎麼重寫,我們可以先...

Object類中的常用方法

1 public int hashcode 返回該物件的雜湊碼值 雜湊碼值是根據位址值換算出來的乙個值,不是實際的位址值 2 public final class getclass 返回此object的執行時類 class類的方法 public string getname 以string的形式返回...