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タッチタイプゲームとして遊ぶことができます。