打印对象System,out.println()与toString方法
Object有个toString实例方法。Object类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() '@' Integer.toHexString(hashCode())
在Java中,所有的对象都是继承自Object,因此所有的Java对象都具有toString方法。
但很多类都重写了Object类的toString 方法,用于返回可以表述该对象信息的字符串。
所有的Java对象都可以和字符串进行连接运算,当Java对象和字符串进行连接运算的时候,系统自动调用Java对象的toString方法的返回值和字符串进行连接运算,即下面两行代码的结果相同:
String pstr=p+””
String pstr=p.toString+””
String toString():返回该对象的字符串表示。
当程序使用System,out.println()方法输出一个对象,或者把某个对象和字符串进行连接运算时,系统会自动调用该对象的toString方法返回该对象的字符串表示。也就是说,下面两行代码是等价的:
System.out.println(p)
System.out.println(p.toString())
空引用变量调用toString方法,会引起空指针异常
浙公网安备 33010602011771号