我们可以创建一个独立的工具方法,以此来处理所需的输出,并在两个类中调用此方法。如:
public class Person {
private String name;
private int age;
private String address;
// constructor, getters and setters
public String toString() {
return buildToString("Person", name, age, address);
}
private String buildToString(String className, String... fields) {
StringBuilder sb = new StringBuilder(className).append(": ");
for (String field : fields) {
sb.append(field).append(", ");
}
sb.setLength(sb.length() - 2);
return sb.toString();
}
}
public class Employee {
private String name;
private int age;
private String department;
// constructor, getters and setters
public String toString() {
return buildToString("Employee", name, age, department);
}
private String buildToString(String className, String... fields) {
StringBuilder sb = new StringBuilder(className).append(": ");
for (String field : fields) {
sb.append(field).append(", ");
}
sb.setLength(sb.length() - 2);
return sb.toString();
}
}
在这里,我们创建了一个名为buildToString的方法,该方法接受一个类名和若干个字段值,并将它们组合为字符串。这个方法是私有的,所以它只能在类内部使用。在每个类的toString方法中,我们调用这个方法,并传递类名、字段值等参数。通过这种方式,我们避免了在两个不同的类中重复代码,并统一了输出格式。
下一篇:避免在两个屏幕之间打开窗口