黑马程序员技术交流社区

标题: 打印语句的问题 [打印本页]

作者: pizhihui    时间: 2015-6-9 21:34
标题: 打印语句的问题
打印语句 :System.out.println(st);System.out.println(st.toString());
       打印的内容一样,why?
①调用了PrintStream类中的println方法,此方法有valueOf方法
  1. public class PrintStream extends FilterOutputStream{
  2.     //调用了这个println方法
  3.     public void println(Object x) {
  4.         String s = String.valueOf(x);
  5.         synchronized (this) {
  6.             print(s);
  7.             newLine();
  8.         }
  9.     }
  10. }
复制代码

②接着调用了String类中的valueOf方法,此方法中就有toString方法(继承在Object类中)
  1. public final class String{
  2.     public static String valueOf(Object obj) {
  3.         return (obj == null) ? "null" : obj.toString();
  4.     }
  5. }
复制代码
  ***最终证明,打印任何引用数据类型的引用,就会调用toString方法***







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2