我有一个问题,为什么在main方法调用printPersonPrinting()方法时隐式调用toString()方法.
public class PersonPrinting {
private String name;
private int age;
public PersonPrinting(String aName, int anAge) {
name = aName;
age = anAge;
}
public String toString() {
return name + " " + age;
}
public void printPersonPrinting() {
System.out.println(this);
}
public static void main (String [] args) {
PersonPrinting p = new PersonPrinting("Dan",10);
//printPersonPrinting is called, but toString isn't.
//But the output is formatted by toString method.
p.printPersonPrinting();
}
}
Run Code Online (Sandbox Code Playgroud)
此代码的输出是 - > Dan 10
谢谢!!