OOの例として、この簡素化されたクラスファイルのセットがあります。それらは完全に機能しますが、WorkerTest.javaからのprintln
呼び出しがWorker.javaからDate.javaに至るまでどのように行われるのかわかりません。Worker.javaとDate.javaの両方にメソッドがありますが、どちらも明示的に呼び出されていませんが、出力から両方が使用されていることがわかります。 toString
これはどのように機能していますか、またはどのような概念を研究する必要がありますか?
public class WorkerTest {
public static void main( String[] args ) {
Date birth = new Date( 7, 15, 1922 );
Worker worker = new Worker( birth );
System.out.println( worker );
}
}
public class Worker {
private Date birthday;
public Worker( Date inboundBirthday ) {
birthday = inboundBirthday;
}
public String toString() {
return String.format( "Birthday: %s", birthday );
}
}
public class Date {
private int month;
private int day;
private int year;
public Date( int inboundMonth, int inboundDay, int inboundYear ) {
month = inboundMonth;
day = inboundDay;
year = inboundYear;
}
public String toString() {
return String.format( "%d/%d/%d", month, day, year );
}
}
出力:
Birthday: 7/15/1922