tostring方法

他就子类用来重写方法的:

如果系统调用的是引用类型,那么系统会自动调用tostring方法。

理解:

public String  toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Object类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于

       getClass().getName()   '@'   Integer.toHexString(hashCode())
返回:该对象的字符串表示形式。

因为它是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);

会得到输出:xxxx@xxxxxxx的类名加地址形式

System.out.println(obj.getString());

会得到输出:this is A

看出区别了吗,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来​

原文地址:https://www.cnblogs.com/JiXianSen/p/12142914.html