已知对象名是一个引用,而输出一个引用时系统会自动调用一个toString方法输出对象在内存中的地址。
public class test {
public static void main(String[] args) {
people me = new people();
System.out.println(me);
}
}
class people{
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
public people(){
this.name = "Ju";
};
public people(String name){
this.name = name;
}
}
输出的结果为people@74a14482,但有时当我们用到 System.out.println(me);语句是,我们不是想要对象的内存地址,而可能是要这个人的名字,name就需要重写toString方法,需要的内容在toString方法中修改即可。
public String toString(){
return name;
}
在类中重写这个方法,输出得到的结果是Ju。
但是,为什么我们要重写toString方法instead of 写一个别名的方法来达成目的呢?因为要保证程序的多态性,