Java での toString() 実装のアドレス指定
Java では、toString() メソッドを使用してオブジェクトのカスタム表現を次のように定義できます。文字列。デフォルトの実装ではクラスと ID 情報が提供されますが、カスタマイズされた出力のためにオーバーライドできます。
Proper toString() Override
Kid クラスはコンストラクターの使用を試みますtoString() メソッド内ですが、これは正しくありません。 toString() は、新しいオブジェクトを作成するのではなく、文字列表現を返す必要があります。
コードを修正するには、オブジェクトのデータを含む文字列を返します。例:
public String toString() { return "Name: '" + this.name + "', Height: '" + this.height + "', Birthday: '" + this.bDay + "'"; }
または、IDE のコード生成機能を使用して、toString() メソッドを自動的に作成することもできます。たとえば、Eclipse では、コードを右クリックし、[ソース] > [ソース] を選択します。 Generate toString.
コンストラクター呼び出しのトラブルシューティング
Kid クラスのコンストラクターの構文が間違っています:
public Kid (String n, double h, String date) { // method that toString() can't find somehow StringTokenizer st = new StringTokenizer(date, "/", true); n = this.name; h = this.height; }
コンストラクターの正しい構文
public Kid (String name, double height, String date) { this.name = name; this.height = height; // Parse date here }
Calling toString()
Driver クラスのコードは、kid1 で toString() メソッドを正しく呼び出し、その結果を出力します。
System.out.println(kid1.toString());
これは、toString() で指定されているように、Kid オブジェクトのカスタマイズされた文字列表現を出力します。メソッド。
以上がJava で toString() メソッドを正しく実装して呼び出す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。