1. 程式人生 > >Java之toString方法

Java之toString方法

如何實現 方法 info ack 接收 總結 java nds 被調用

  在Java中所有的類都有一個共同的父類Object(默認繼承,不用加extends關鍵字),toString方法就是Object類的一個方法,用來返回該對象的字符串表示形式(個人總結:需要把該類轉換成String類型的時候就會調用該方法)

  父類Object中的toString()方法

  技術分享圖片

  可以看到該方法返回的是"類名@hashCode值"形式的字符串

  但這並不是我們所想要的結果,我們希望這個方法返回的是該類的所有屬性拼接的字符串,Object的toString方法已經不夠用了,因此,我們需要重寫該方法

  技術分享圖片

  既然已經重寫好了該方法,那該方法是什麽時候被調用的呢?

  我們經常使用System.out.println()方法來打印一個基本類型的變量或引用變量,我們根據源代碼來查看是如何運行的:

  System.out.println()通過標準輸出流對象調用println()方法

  技術分享圖片

  該方法是用於打印基本類型變量或引用變量,我們在看看prinln()方法是如何實現的?

  技術分享圖片

  該方法被重載了,基本類型的參數直接打印出該值,我們主要關註引用類型參數是如何實現

  技術分享圖片

  String.valueOf()方法用於返回Object參數的字符串表示形式,將該值用String類型的變量s接收,並打印出來,我們在看看valueOf()方法是怎麽實現的

  技術分享圖片

  若該引用變量不是指向空引用,則調用該引用變量所指向的對象的toString方法

  由此,我們可以判斷,當System.out.println()中的參數類型是基本類型參數時,直接打印,若是引用類型時,調用該引用類型所指向的對象的toString方法,如果該子類對象不重寫toString方法,則打印的是"類名@hashCode值"形式的字符串,通常建議重寫toString方法

Java之toString方法