列印類物件自動呼叫toString方法
阿新 • • 發佈:2019-01-31
在講Hashtable時老師說過列印一個類物件會自動呼叫toString方法,就直接記下來了,今天又發現老師在列印Date類物件時也說會自動呼叫toString方法,所以就查看了一下幫助文件和原始碼,結果如下:
Object類中有toString方法
摘抄:
public String toString()
返回該物件的字串表示。通常,toString
方法會返回一個“以文字方式表示”此物件的字串。結果應是一個簡明但易於讀懂的資訊表示式。建議所有子類都重寫此方法。
如Date類中覆蓋的toString方法
public String toString()
把此Date
物件轉換為以下形式的String
:
dow mon dd hh:mm:ss zzz yyyy
覆蓋:
-
- 那麼System.out.println()怎麼呼叫了toString呢?
- Systeme類中的out欄位是標準輸出流,out是static PrintStream型別的,PrintStream類有println函式,其過載形式有引數是Object的:
-
public void println(Object x)
列印 Object,然後終止該行。此方法首先呼叫 String.valueOf(x) 獲取列印物件的字串值,然後的行為如同先呼叫 再呼叫 一樣。