1. 程式人生 > 其它 >在Java中“System.out.println(類物件名);”實際輸出的是該物件的toString()方法返回的字串,

在Java中“System.out.println(類物件名);”實際輸出的是該物件的toString()方法返回的字串,

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方法的時候
        會被自動呼叫,不用顯示的寫出來。