代码:
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.