在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”之类的输出方法时会自动调用,不用显式打出来 |
|