打印对象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方法,会引起空指针异常

posted on 2016-10-26 17:40  风起时~  阅读(1642)  评论(1)    收藏  举报

导航