如果一个类继承了Object,在new对象的时候触发的无参构造,必然会重写.toString方法。
继承:class Student extends Object
new对象:Student s = new Student();
System.out.println(s);
//println()打印时,底层自动调用s对象的toString()
//默认调用了Object的toString(),
重写的.toString方法:(自动生成重写:右键-source-generate toString()-ok)
@Override
public String toString() {
return “Student [name=” + name + “, age=” + age + “]”;
}
总结:
1,toString()-重写前,使用Object的,展示对象的地址值
-重写后,使用子类的方法体,展示了属性值
String s = o.toString();
//获取o对象在内存中的地址值
System.out.println(s);//java.lang.Object@15db9742
2,equals()-重写前,使用Object的,比较两个对象的地址值
-重写后,使用了子类的方法体,比较了属性值