次のコードがあります
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());
明確にしていただきありがとうございます