我是看了这篇博客有很大收获,附上链接:https://blog.csdn.net/qq_41288095/article/details/89847007
鉴于这篇博客关于为什么会自动调用toString已经说了很清楚了,
我就大概说一下为什么输出的结果是“I love java”吧,我还想了有一会儿哈哈哈。
代码我稍微改一下,本质意思还是没变的,这样比较容易理解。
public class ToStringTest {
public static void main(String args[]){
ToStringTest a = new ToStringTest();
String str = "love" + a; //执行到这一步要把a转换为String类型,所以就会调用a的toString方法了;
//先执行System.out.print("I ");(只不过这时候还看不到),然后返回“java”,所以str的值就是“love java”
//最后控制台我们能看到输出的是“I love java”.
System.out.println(str);
}
public String toString(){
System.out.print("I ");
return "java ";
}
}
博主也正在学习中,如果有错误或疑问欢迎评论私信交流讨论!^_^