java 打印对象时时如何调用对象toString()方法的

    xiaoxiao2021-03-25  95

    我们知道输出一个对象,实质上就是调用对象的toString() 方法,既

    System.out.println(obj); // 调用obj.toString()具体jdk是如何实现的呢  请跟我一步一步探个究竟:

    找到System.out.println()的源码:

    public void print(Object obj) { write(String.valueOf(obj)); } 调用了String.valueOf();  继续查看源码:

    public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); } 关键部分看到了,如果对象不为空,就取对象的toString方法。

    (因为object是所有对象的祖宗,且有toString方法,所以所有对象都有toString方法,并且可以重写该方法)

    转载请注明原文地址: https://ju.6miu.com/read-26441.html

    最新回复(0)