1.toString()是定义在Object类中的方法,由于所有的类都是Object类的子类,所以所有的对象都有一个默认的toString方法。
2.它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法。
3.toString()是一种自我描述的方法,本身返回的是getClass().getName() + “@” + Integer.toHexString(hashCode()),即 类名 + @ + hashCode的值
4.当方法被重写后,则会调用重写后的方法
源码:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
举例:
package com.dlj.test;
/**
* @Author ashley
* @Date 2019/8/29 16:16
*/
public class ToStringTest {
public static void main(String[] args) {
ToStringTest demo = new ToStringTest();
System.out.println(demo);
}
}
输出结果:
重写toString()
package com.dlj.test;
/**
* @Author ashley
* @Date 2019/8/29 16:16
*/
public class ToStringTest {
public static void main(String[] args) {
ToStringTest demo = new ToStringTest();
System.out.println(demo);
}
@Override
public String toString() {
return "helloworld";
}
}
输出结果: