在Java中“System.out.println(類物件名);”實際輸出的是該物件的toString()方法返回的字串,
阿新 • • 發佈:2022-03-26
public class Test01{ static int i = 1; public static void main(String args[]){ System.out.println("love " + new Test01());//love java Test01 a = new Test01(); a.i++; System.out.println("me " + a.i);//me 2 } public String toString(){ System.out.print("I ");//I return "java "; } }
原因:當執行程式碼的時候,首先載入靜態變數,然後執行main方法, 由於main方法內部第一行程式碼為輸出語句,裡面new了此類物件, 當執行此行程式碼時會先建立了本類的物件,由於此類重寫了toString方法, 會先執行toString方法的列印輸出,然後返回“java ”,再執行main方法第一行列印輸出。 在Java中“System.out.println(類物件名);”實際輸出的是該物件的toString()方法返回的字串, 即括號中的內容等價於類物件名.toString(),toString方法的好處是在碰到println方法的時候 會被自動呼叫,不用顯示的寫出來。