public String toString()

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

getClass().getName() + '@' + Integer.toHexString(hashCode())

返回:该对象的字符串表示形式。


因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。

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



1、toString()就是重写,对于一般的对象来说都会有这个方法,其实这个方法的目的,主要就是将对象按字符串的方式输出出来:打个比方,比如一个People类,里边有name,age这两个属性,

如果你

People p = new People();

p.toString();

这么做的话,默认输出就是一个内存地址。
那么你会想到重写ToString();这个方法,按自己的方式去输出。
比如将toString的方法体改为:return p.name+p.age;
这个时候toString输出的东西就是People这个类的姓名和年龄了。

toString()是object方法,所以只要继承自object的类都阔以重写这个方法。应用举例editText.getText().toString() 

2、重写是指从父类继承后,子类对父类某方法的具体实现进行修改,不能修改其方法名,当System.out.println(对象)时,默认使用toString()方法,将对象转为字符串输出,toString()方法继承于所有类的隐性基类(所有类的大哥大 Object类),如果某类无重写toString()方法,这时调用toString()将得到(类名+地址名名)这样的字符串,改成别的方法名应该是不会出错的,是否你添加了重写标记,改成别的方法名是不能称为“重写”的。        

3、在写Java代码的时候,在后台代中想要打印变量的值到控制台,当你打印一个对象的时候,实际上是调用对象的toString()方法!这是在类的定义阶段,属性还没有初始化 ,就是打印对象时,打印默认的是 对象.toString(); 可以理解为输出所有的属性值;

4、一般out.println(Object) 和 System.out.println(Object),其中输出的都是Object.toString()方法。重写toString()方法,可以输出自己想要的文字信息

注:打印一个对象,可以直接System.out.println(p);其实println方法内部会自动调用p 的 toString() 方法。