这段代码是什么意思?

public class ToStringTest {
    static  int i =1;
    public static void main(String[] args){
        System.out.println("Love"+ new ToStringTest());
        ToStringTest a = new ToStringTest();
        a.i++;
        System.out.println("me "+a.i);
    }
    public String toString(){
        System.out.println("I ");
        return "java ";
    }
}

System.out.println("Love"+ new ToStringTest());
相当于
System.out.println("Love"+ (new ToStringTest()).toString());
相当于
String temp = (new ToStringTest()).toString();
System.out.println("Love"+ temp);
所以可见,I会先输出,然后是Love java