1.当我们输出一个对象的引用时,实际上就是调用当前对象的toString()方法
Customer cust = new Customer("Tom", 20);
// com.yao.java2.Customer@15db9742
System.out.println(cust.toString());
// com.yao.java2.Customer@15db9742
System.out.println(cust);
2.Object类中toString()的定义
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
3.像String、Date、File、包装类等都重写了Object类中的toString()方法。使得在调用对象的toString()时,返回“实体内容”信息
//MM
String str = new String("MM");
System.out.println(str);
// Thu Jan 01 11:26:32 CST 1970
Date date = new Date(12392139L);
System.out.println(date);
4.自定义类也可以重写toString()方法,当调用此方法时,返回对象的“实体内容"。
@Override
public String toString() {
return "Customer[name = " + this.getName() + ", age = " + this.getAge() + "]";
}
Customer cust = new Customer("Tom", 20);
// com.yao.java2.Customer@15db9742 -> Customer[name = Tom, age = 20]
System.out.println(cust.toString());
// com.yao.java2.Customer@15db9742 -> Customer[name = Tom, age = 20]
System.out.println(cust);