1.当我们打印一个类的引用时,实际上默认是调用该类的toString()方法
2.当我们打印的对象所在的类没有重写Object类的toString()方法时,默认调用的是Object类中定义的toString()方法,返回此对象所在的类及对应的对象在堆空间的首地址值(示例:com.deppon.polymorphic.Person@28278a47)
3.当我们打印的对象所在的类重写了Object类中的toString()方法时,那么调用的就是当前类重写的toString()方法,通常是将类的属性返回。
4.像String类、包装类、File类、Date类等,已经实现了对Object类中toString()方法的重写
System.out.println(p1.toString());//com.deppon.polymorphic.Person@28278a47
System.out.println(p1); //com.deppon.polymorphic.Person@28278a47
Date d = new Date();
System.out.println(d); //Mon May 22 09:38:37 CST 2017