toString()方法原本用来输出对象的完整信息---即对象的编码.如果不重写,输出的就是对象编码.
package prepare1; class Book{ } public class Test { public static void main(String[] args) { Object obja = new Book(); Object objb = "字符串"; //这两个输出内容是一样的 System.out.println(obja); System.out.println(obja.toString()); System.out.println(objb); } }
因为万类都是Object的子类,所以可以在任何类中重写toString()方法,这个方法可以自定义.只要返回值是String就行,因为API中对此有要求.
以下是API中对这一方法的描述:
toString
public String toString()
- 返回该对象的字符串表示。通常,
toString
方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Object
类的toString
方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@
”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + '@' + Integer.toHexString(hashCode())
- 返回:
- 该对象的字符串表示形式。