初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
toString
toString()メソッドはオブジェクトを文字列として表したものを戻り値として返します。
では、サンプルプログラムを見ていきます。
サンプルプログラム(Sample71.java)
class Sample71{
public static void main(String args[]){
Super71 obj = new Super71(); // Super71のコンストラクタが呼び出されます。
System.out.println(obj); //toString()メソッドの戻り値が呼び出されます。
}
}
class Super71{
public Super71(){
System.out.println("Super71クラスのコンストラクタです");
}
public String toString(){
String str = "toString()メソッドです";
return str;
}
}
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行してみます。
ObjectクラスのtoString()メソッド自体は空のメソッドで、基本的にはサブクラスでオーバーライト してやる必要があります。
必ずtoString()メソッドはString型の戻り値が必要になります。
ここでは、Super71クラスで コンストラクタとしてSuper71()とObjectクラスからtoString()メソッドを オーバーライドしています。
またこのように、オブジェクトを表す参照変数(ここではobj)を出力すると
toStringクラスの戻り値が
結果に返されます。
また、objectクラスのtoString()はpublicで定義されています。
したがって、サブクラスで定義する場合は必ずpublicをつけなければいけません。
サンプルプログラム(Sample71_1.java)
class Sample71_1{ public static void main(String args[]){ Super71_1 obj = new Super71_1(); // Super71_1のコンストラクタが呼び出されます。 System.out.println(obj); //toString()メソッドの戻り値が呼び出されます。 } } class Super71_1{ public Super71_1(){ System.out.println("Super71_1クラスのコンストラクタです"); } String toString(){ String str = "toString()メソッドです"; return str; } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
中古パソコンのデジタルドラゴン ドロップシッピング代理店
スクール・通信講座の徹底比較!一括資料請求【無料】
コンパイル・実行してみます。
このようにオーバーライドに関するエラーが出力されます。
また、オーバーライドしないでそのままオブジェクトの参照変数を出力すると、
ObjectクラスのtoString()の戻り値となっている数値Sample71_2@数値という文字列が呼び出されます。
では、コードを見ていきましょう。
サンプルプログラム(Sample71_2.java)
class Sample71_2{ public static void main(String args[]){ Super71_2 obj = new Super71_2(); // Super71_1のコンストラクタが呼び出されます。 System.out.println(obj); //toString()メソッドの戻り値が呼び出されます。 } } class Super71_2{ public Super71_2(){ System.out.println("Super71_2クラスのコンストラクタです"); } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行します。
このような結果になります。