重写toString方法的应用领域

重写toString方法的应用领域

问题描述:

关于重写的toString方法可以在哪里应用,学会了重写它,但是自己不知道在哪里运用

对于一般的对象来说都会有这个方法,其实这个方法的目的,主要就是将对象按字符串的方式输出出来:打个比方,比如一个People类,里边有name,age这两个属性,
如果你People p = new People();
p.toString();
这么做的话,默认输出就是一个内存地址。
那么你会想到重写ToString();这个方法,按自己的方式去输出。
比如将toString的方法体改为:return p.name+p.age;
这个时候toString输出的东西就是People这个类的姓名和年龄了。

修改对象默认返回的内容用

类似这个:http://ask.csdn.net/questions/367983

格式化输出一个对象,它的作用主要是给日志和调试提供更准确的信息。方便程序员输出一个对象,而不需要自己去格式化和调用它的属性字段。
特别是,当对象比较复杂的时候,比如
class Car
{
public Tyre tyres;
public Engine engine;
public Shift shift;

public int MaxSpeed;
public int Color;
...
}
class Tyre
{
public int size;
public int type;
}
class Engine
{
public int MaxPower;
public int CylinderCount;
...
}
public class Shift
{
...
}
对于Car这种类,如果要输出所有属性,每次都自己写,很麻烦,最好的办法是每个对象都有tostring,然后car调用内嵌的几个类的tostring,而每个内嵌类,再调用各自的tostring,就很简单了。