#pragma twice

KAB-studio > プログラミング > Javaのオブジェクト指向入門 > 1. クラスを作ろう > 1.4 参照からインスタンスを操作する
 
前のページへつぎ

1.4 参照からインスタンスを操作する

del.icio.us 登録する はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数 livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数 Yahoo!ブックマーク 詳細を表示 users RSSに登録
更新日: 2008/03/31
動作確認環境:Windows XP Professional SP2, Java SE 5

 インスタンスを作り参照を参照型変数に入れたことで、クラスを使う準備ができました。
 今回は実際に使ってみましょう。

参照型変数でフィールドを使う

 インスタンスへの参照を参照型変数refに入れたことで、ref変数を通してインスタンスを操作できるようになりました。
 では、このref変数を通して、インスタンス内にあるdata変数に数値を入れてみましょう。

        // ref変数内の参照を通して、SimpleClassクラスの
        // インスタンスに入っているdataフィールドに
        // 数値を入れます。
        ref.data = 100;
		// ref変数内の参照を通して、SimpleClassクラスの
		// インスタンスに入っているdataフィールドに
		// 数値を入れます。
		ref.data = 100;

 まず、インスタンス内に作られた変数のことを「フィールド」と言います。
 int型の変数dataは「SimpleClassクラスのdataフィールド」ということになります。
 このフィールドを使用する場合には「参照型変数.フィールド」という書き方をします。

 「参照型変数.フィールド」と書くと、それが「参照型変数内の参照が指すインスタンスのフィールド」という意味になります。もっと単純に考えるのなら、「ref.data」は「refdataフィールド」と読み替えればいいでしょう。
 「ref.data」は「dataフィールド」のことですから、「ref.data = 100」は「data = 100」と同じ、つまりdataフィールドに100を入れている、というわけです。。

インスタンスはデータの入れ物

 このように、参照型変数を通して、インスタンスの中にあるフィールドに数値を入れることができました。
 1つのクラスの中にたくさんのフィールドを用意することができます。インスタンスを作ることでそのインスタンスの中にフィールドが作られ、そのフィールドへ参照を通してデータを入れることができるというわけです。
 では、今度はインスタンス内のフィールドから値を取り出してみましょう。
 と言っても、方法は値を入れたときと同じです。

        // 今度はそれを取り出して出力します。
        System.out.println( ref.data );
        // 出力結果:
        // 100
		// 今度はそれを取り出して出力します。
		System.out.println( ref.data );
		// 出力結果:
		// 100

 先ほどと同じように「参照型変数.フィールド」と書くことでフィールドを指定できます。
 「ref.data」はdataフィールドのことなので、println()メソッドにdataフィールド内の値(ここでは100)を渡して、その値が出力されます。

 このように、フィールドは普通の変数とまったく同じように使うことができます。
 違うのは「参照型変数.フィールド」としなければいけない点です。フィールドはインスタンスの中に入っているので、そのインスタンスを指定するため「参照型変数」をくっつけるわけです。
 違うのはそこだけで、それ以外は普通の変数と同じです。難しく考えず使っていきましょう。

1.4 参照からインスタンスを操作する
このページは、Java言語を用いたオブジェクト指向プログラミングのチュートリアル解説を行う「Javaのオブジェクト指向入門」の一ページです。
詳しい説明は「Javaのオブジェクト指向入門」目次をご覧ください。