Java での toString() のオーバーライド: 詳細ガイド
Object クラスのネイティブ部分である toString() メソッドは、オブジェクトの状態を表現する上で極めて重要な役割を果たします。このメソッドは、System.out.println() やデバッグなどのさまざまな操作中に暗黙的に呼び出されます。ただし、toString() をオーバーライドするには、意味のある出力を確実に生成するために細心の注意が必要です。
よくある落とし穴の 1 つは、オーバーライドされた toString() でパラメーター化されたコンストラクターを使用することです。指定されたコードに示されているように、Kid クラスの 2 番目のコンストラクターは、StringTokenizer を使用して日付文字列を分割し、結果をクラス変数に割り当てようとします。ただし、このコンストラクターは明示的に呼び出されることはなく、そのため toString() メソッドからはアクセスできないとみなされます。
toString() を適切にオーバーライドするための鍵は、オブジェクトの状態を正確に反映する String を返すことです。提供されているコードでは、次の toString() メソッドの更新バージョンがこのタスクを実行します。
public String toString() { return "Name: '" + this.name + "', Height: '" + this.height + "', Birthday: '" + this.bDay + "'"; }
この改訂された toString() メソッドは、文字列の連結を利用して、Kid オブジェクトの読みやすく有益な表現を生成します。パラメーター化されたコンストラクターの使用を回避し、String を返すことに重点を置くことにより、この実装では、toString() メソッドが呼び出されたときにオブジェクトのデータが正しく表示されることが保証されます。
以上がJava で toString() メソッドを効果的にオーバーライドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。