淘先锋技术网

首页 1 2 3 4 5 6 7
在java中,所有对象都有toString()这个方法,因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”

它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法

总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法

例子1:
public class A{
public String toString(){return "this is A";}
}
如果某个方法里面有如下句子:
A obj=new A();
System.out.println(obj);
会得到输出:this is A

例子2:
public class A{
public String getString(){return "this is A";}//toString改个名字试试看
}
A obj=new A();
System.out.println(obj); //隐式调用toString()函数
//因为没用自定义toString()函数的返回值,所以会得到输出:xxxx@xxxxxxx的类名加地址形式 ;
System.out.println(obj.getString()); //显式调用getString()函数,会得到输出:this is A

所以,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来