您的位置:首页 > 其它

打印对象和toString方法

2012-05-18 11:09 399 查看

JAVA对象

java对象是都是Object类的实例,都可直接调用该类中定义的方法,这些方法提供了处理java对象的通用方法。

> > 6.2.1打印对象和toString方法

先看下面程序:

程序清单:codes/06/6-2/PrintObjectjava

public class PrintObject{
public static void main(String args[]){
Person p = new Person("帅气de猪八戒");
System.out.println(p.toString());  //跟p.toString()效果一样
}
}
class Person {
private String name;
public Person(String name){
this.name = name;
}
public void info(){
System.out.println("此人名为:" + name);
}
}


输出:

String.Person@c17164

当读者运行上面程序时,可能看到不同的输出结果:@符号后的6位16进制数字可能发生改变

但这个输出结果是怎么来的呢?System.out.println方法只能在控制台输出字符串.当使用该方法输出

Person对象时,实际上输出的是Person对象的toString()方法的返回值,也就是说,下面代码结果完全一样:

System.out.println(p);

System.out.println(p.toString());

toString方法是Object类里的一个实例方法,所有Java类都是Object类的子类,因此所有Java对

象都具有toString方法。

不仅如此,所有Java对象都可以和字符串进行连接运算,当Java对象和字符串进行连接运算时,

系统自动调用Java对象toString方法的返回值和字符串进行连接运算,即下面两行代码的结果也完全

相同:

String pStr = p + "";

String pstr = p.toString() + "";

toString方法是一个非常特殊的方法,它是一个“自我描述”方法,该方法通常用于实现这样一个

功能:当程序员直接打印该对象时,系统将会输出该对象的“自我描述”信息,用以告诉外界该对象

具有的状态信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: