代碼:
package com.qg.String;
public class ToStringTest {
static int i =1;
public static void main(String[] args){
System.out.println("Love"+ new ToStringTest());//在輸出語句中輸出一個對象自動調用toString函數
ToStringTest a = new ToStringTest();
a.i++;
System.out.println("me "+a.i);
}
public String toString(){//重寫了toString()函數
System.out.println("I ");
return "java ";
}
}
運行結果:
I
Lovejava
me 2
分析:在Java中,所有的對象都是繼承自Object,自然繼承了toString方法,在當使用System,out.println()里面為一個對象的引用時,自動調用toString方法講對象打印出來。如果重寫了tostring方法則調用重寫的toString 方法。
所以程序先執行new ToStringTest(),tostring方法已重寫,自動調用tostring()返回new ToStringTest()一個java,先打印出來I,接着輸出Lovejava.因為i屬於靜態變量,可以直接調用值所以輸出me 2.