• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:toString()メソッドについて)

toString()メソッドの戻り値とは?

このQ&Aのポイント
  • toString()メソッドの戻り値とは「Car@数値」という文字列が画面に出力されることを意味します
  • toString()メソッドはObjectクラスから継承されたメソッドであり、デフォルトの実装ではオブジェクトのクラス名とハッシュコードが組み合わされた文字列を返します
  • 「Car@数値」という文字列は、Carというクラスのインスタンスであることを示し、後ろの数値はオブジェクトのハッシュコードを表しています

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

書いてある通り ○「"Car@数値"という文字列」が画面に出力される。 ○「"Car@数値"という文字列」はcar1.toString()メソッドの戻り値である。 ということです。 System.out.println( car1 ); は、引数の型から判断して System.out.println( java.lang.Object ) が呼び出されるので、 System.out.print( String.valueOf(car1) );System.out.println(); に相当します。 http://docs.oracle.com/javase/jp/7/api/java/io/PrintStream.html#println%28java.lang.Object%29 String.valueOf(car1) は、car1がnullでなければ car1.toString() に相当します。 http://docs.oracle.com/javase/jp/7/api/java/lang/String.html#valueOf(java.lang.Object) car1.toString() は、オーバーライドされていなければ、ObjectクラスのtoString()になります。 下の説明にあるように「クラス名@16進文字列」の形になります。 car1のCarクラスのインスタンスなら、「Car@16進文字列」となります。 http://docs.oracle.com/javase/jp/7/api/java/lang/Object.html#toString() 以上の流れから System.out.println( car1 ); は System.out.print( "Car@16進文字列" );System.out.println(); と同等、つまり「 "Car@16進文字列"という文字列を標準出力へ出力して、その後、画面へ改行を出力」ということです。 標準出力は、画面になっていることが多いので、 「 "Car@16進文字列"という文字列を画面へ出力して、その後、画面へ改行を出力」 と説明していることもあります。

KAIJI-000
質問者

補足

しょうもない質問ですいません、@マークという表現はJavaの解説でお決まりな言い方なんでしょうか?

その他の回答 (1)

回答No.2

Carクラスである@そのインスタンスに紐付く一意の数値 です。 public class Test {   public static void main(String args[]) {     Hoge hogeA = new Hoge();     Hoge hogeB = new Hoge();     Fuga fugaA = new Fuga();     Fuga fugaB = new Fuga();          System.out.println(hogeA);     System.out.println(hogeB);     System.out.println(fugaA);     System.out.println(fugaB);   }    } class Hoge {    } class Fuga {    } 基本的にそんな情報、よほどの事がない限り使わないので気にする必要ありません。

KAIJI-000
質問者

お礼

回答有難うございます。

関連するQ&A

専門家に質問してみよう