【Java】为什么toString方法在打印对象时会自动调用?

我是看了这篇博客有很大收获,附上链接: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 ";
    }
}

 

博主也正在学习中,如果有错误或疑问欢迎评论私信交流讨论!^_^

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值