toString
Object类中toString()的使用:
当我们输出对象的引用时,实际上调用的是该对象的toString()方法。 为什么会去调用该对象的toString()方法呢? 这就需要看源码了!
System.out.println(cust.toString());
System.out.println(cust);
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString(); //在这里调用了该对象的toString()方法
}
Object类中的toString()方法
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
如果自定义类不重写toString()的话,调用的就是Object类中的toString()方法,输出的就是类名和地址
但是我们并不满足,我们调用toString(),是想要输出 类的“实体内容” 并不想要输出地址;这时就需要我们去重写toString()方法了。
@Override
public String toString() {
return "Customer{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
可以自动生成!

浙公网安备 33010602011771号