它最初是为了调试和记录目的而添加到Object的。
如果查看JavaDoc for Object.toString
(http://java.sun.com/javase/6/docs/api/java/lang/Object.html#toString()),
则可以推断出这一点,因为它会输出类名,后跟@,后跟
对象哈希码的无符号十六进制表示形式。我唯一看到
它非常有用的地方是在日志或控制台中。
但是Java创建者有意地将此方法保留为非最终方法,因此子类
可以(并且应该)重写它,以代替输出更多子类特定的
信息。他们可能已经实现了JVM,以便将一个
对象传递到任何需要字符串的方法中,它将在
上面生成该哈希值并将其传递到该方法中,但是相反,他们很好,并将其
实现为一种方法,您可以如此方便地进行操作。覆盖。
它是在对象级别实现的,因此您可以放心地假设 可以将任何
对象写到日志/控制台中。这是
Java语言中的一个方便假设。



