toStringメソッドをオーバライドするときはpublic宣言する
toStringメソッドをオーバライドするときはpublic宣言をしなければなりません。
以下の理由のためです。
- toStringはjava.lang.Objectでpublic String toString()として定義されているメソッドである。
- クラスを作成する場合、それはjava.lang.Objectのサブクラス
- だから、クラスを作成して、String toString()を定義することはスーパークラスのString toString()をオーバライドするってこと
- スーパークラスのメソッドをサブクラスでオーバライドする場合、アクセス制限を強めてはいけない。
- よって、public宣言が必要。
ってことらしい。