为啥println(对象)的时候是调用对象toString方法的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥println(对象)的时候是调用对象toString方法的?相关的知识,希望对你有一定的参考价值。

参考技术A println输出就是调用了student的toString

Object 的toString

pirntln输出的就是调用Object的toString
return getClass().getName()就是类名。类名=包+类名。
Integer.toHexString(hashCode())就是地址

看一下println的参数:

看一下参数是对象时候的println的源码

再看一下String.valueOf(x)的源码

可以发现是确实println参数是对象的时候是调用了对象的toString方法。

以上是关于为啥println(对象)的时候是调用对象toString方法的?的主要内容,如果未能解决你的问题,请参考以下文章

子类为啥不能直接调用父类的属性

为啥intellij idea fastjson string放入对象后再取出的时候带有\

为啥在声明子类的对象时会调用超类的构造函数? (爪哇)

Arrays类

为啥执行时没有执行基类的构造函数?

深入了解toString方法