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タッチタイプゲームとして遊ぶことができます。
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。
最新の投稿
山崎講師2026年1月12日生成モデル、識別モデル、識別関数の違い
山崎講師2026年1月12日AIが賢くなる秘密の数式?ベイズの定理で「データから正解」を導き出す方法
山崎講師2026年1月11日【NumPy応用】乱数を操る!choiceとshuffleを使いこなして脱・初心者を目指そう
山崎講師2026年1月11日【完全攻略】Axis=0と1の呪いを解く!「縦か横か」迷わなくなる直感的イメージ法