039-オブジェクトの拡張-toStringメソッド【新人エンジニアが最初に覚えたい100のJava文法】
ユーチューブ動画
toStringメソッドについて解説します。
ソースコード
public class MainClass { public static void main(String[] args) { Product product1 = new Product("pencil",100); Product product2 = new Product("eraser",60); System.out.println(product1); System.out.println(product2); } } class Product { private String productName; private int price; public Product(String productName, int price) { this.productName = productName; this.price = price; } public String toString() { return this.productName + "," + this.price; } }
解説
toStringメソッドについて解説します。
toStringメソッドは、インスタンスの内容を文字列で返すためのメソッドです。
toStringメソッドを利用すると、インスタンスの内容を人間が読める形に変換することができます。
インスタンスの中身を検証したり、ログ出力にも応用されているので、覚えておきたい文法です。
Javaのすべてのクラスは、java.lang.Objectクラスを継承することになっています。
見えないですが、暗黙的に継承していることになっています。
toStringメソッドは、Objectクラスで定義されていますが、サンプルコードのように同じメソッドを定義することで、処理の中身を書き換えることができます。
ここでは、メンバ変数の内容を返すようにしました。
実際に利用するときには、インスタンスからtoStringメソッドを呼び出します。
ここもポイントですが、printlnメソッドでは、暗黙的にtoStringメソッドを呼び出します。
したがって、インスタンスさえ記述すれば、勝手にtoStringメソッドが呼び出されます。
不思議ですね。
結果は、インスタンスのメンバ変数が表示されます。
Javaには、いくつかこうした暗黙的に行われることがあります。
慣習のレベルとして、覚えておきましょう。
以上、toStringメソッドについて解説しました。
このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。