参考:
笔记:
- System.out.println(),System.out.println()内部实现时,用到String.valueOf(x),String.valueOf(x)实现时有用到:obj.toString(),obj.toString()又用到:return getClass().getName() + "@" + Integer.toHexString(hashCode());
- 从中我们不难看到每个类如果没有重写toString()函数的话,默认是返回该类的名称 + “@” + 该对象hashCode值得十六进制数字;
- 所以JDK官方是推荐我们所有的类都应该重写此类(It is recommended that all subclasses override this method.)。如果我们在上面的Person类中重写该方法,那么System.out.println语句就会按照我们的重写的toString()方法打印对象信息,如下: