java 中 一般打印对象不都是需要重写toString()方法吗?

为什么打印String对象,不需要重写,是因为它已经是String类型了吗,可不重写,打印的不都是哈希吗符号吗?

toString是String类中的方法,查询jdk api文档可知,因此使用String类型的,它不需要重写。
public String toString()

返回此对象本身(它已经是一个字符串!)。
覆盖:
类 Object 中的 toString

返回该对象的字符串表示。通常,toString
方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at
标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:

该对象的字符串表示形式。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-10
打印其实是把对象toString()方法返回的值打印出来,String自己本身重写了toSting()方法,所以能看到正常的打印效果本回答被提问者采纳