假如说我们需要将一个类的所有成员变量按一定的格式输出,该怎么办呢?是一个一个的getXXX();吗?不错,用这样的方式的确可以得到我们想要的结果,但要是当这个类的成员变量足够多的时候,这样的方法是不是显得特别繁琐了呢?其实Java给我们提供了一个很好的机制来实现这个需求,即重构toString方法。
由于我们在使用System.out.println();进行标准输出时,它会将需要输出的对象转换成字符串,恰好toString也有此功能,所以我们只需在类中新加一个toString方法,需要输出时,只需将这个类的对象作为输出对象即可,不必再去用繁琐的getXXX();了。当然,从另一方面来说,getXX();更加灵活,有些时候我们只需要输出一部分内容,这个时候getXXX()就是不错的选择了。
代码示例:
class Student {
private String name;
private boolean sex;
private int age;
Student(String name, boolean sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String toString() {
System.out.println(name + "\t" + sex + "\t" + "age");
}
public static void main(String[] args) {
Student stu = new Student("Name", true, 22);
System.out.println(stu);
}
}
输出结果:
Name true 22