喫茶 キエチーフ

......徒然ツンデレまったり雑記(更新不足とも言う)


   ここはしがない音楽屋T28が管理するブログスペースです。
     右側のメニューからどうぞ~ゆっくりしてってね!


   
  (⁰︻⁰) ☝お気軽にポチっ☆それだけで、幸せ

スポンサーサイト :: --/--/--(--)


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. スポンサー広告

12/9 暗黙的なtoString :: 2014/12/10(Wed)


 
【オブジェクトの情報を文字列で表す暗黙的なメソッド、toString】

社内で行われている勉強会の参考書にて、
system.out.println(player.toString() + "ほにゃらら");
というものがありました。

playerとは、ゲームを行う人のクラスをインスタンス化した時の変数名。
このインスタンスには人の名前等を引数にしてインスタンス化している。




が、別の行にはふつーーーーに。
System.out.println(player + "ほにゃららら");
なんて記述が・・・。同じ出力というオチ。

playerクラスを見るとtoString()というメソッドの実装があり、そこで実装した文字列の内容が上記の標準出力の内容担っていました。
が、player.toStringと書いていない出力もtoString()メソッドの実装内容と同じものになっている・・・・。


ってことで調べてみると、どうやらオブジェクトにはtoStringというメソッドが暗黙的に存在しているらしい。
個別でメソッドを記載しなくても、オブジェクトの変数を書くだけで呼び出されるようだ。

しかし、それだけだととても人が読めるような出力にはならない。(例、省略)
そこで、各クラスでtoStringのオーバーライドを推奨しているようだ。

これで、オブジェクトの詳細を簡単に文字列で表すことが出来る。


ふーーーん。

ところで、オーバーライドとかインターフェイスとか、まだよくわかっていない。
  1. SW強いられまとめ
  2. | コメント:0

<<12/16 列挙 Enumeration | top | 12/1 いまどきのデザインセンス>>




comment

comment


管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。