我有以下一段代码
public class DriverTester {
public static void main(...){
// test empty constructor
Person p1 = new Person();
System.out.println("p1: " + p1);
}
}
public class Person {
private String name;
// Empty constructor
public Person () {
}
// getter avoided for simplicity
public String toString() {
return "Mr.or Ms. "+this.name;
}
}
它编译、运行成功并显示“Mr or Mrs null”。所以,这将是调用该toString
方法的结果。
我不明白 print line 方法的语法。只是对象的名称如何p1
运行给定的方法。它如何知道运行哪种方法?语法不应该是
System.out.println("p1: " + p1.getName());
或者
System.out.println("p1: " + p1.toString());
感谢您的任何澄清