メソッド内でフィールド情報を指定する時、this.の直後に
フィールド名を書いて表現します。
(this.は、『このオブジェクトの〜』の意味です。)
このthis.は、省略して、書かずにフィールド名だけの表現も可能で、
これまで省略してきました。
this.で指定するのはインスタンス変数の名前だけです。つまりクラス変数(⇒staticが付くフィールド)を
指定することはできません。
←ボタンクリックで説明していきます。
以下に実行結果を示します。
D:\java>java Test 1番目レコード 商品コード:D05 数量:50 2番目レコード 商品コード:B10 数量:90 D:\java>
なお、次のようにthis.を省略するこができますが、フィールド名と同じ ローカル変数を宣言すると、thisでフィールド名を指定しないと、 オブジェクトの情報にアクセスできません。
public class Test{ public static void main(String[] arg) { Record2 a = new Record2("D05", 50); Record2 b = new Record2("B10", 90); a.display(1); b.display(2); } } |
public class Record2 { public String sho; // 商品コード public short suu; // 数量 //商品コードと数量を引数で設定するコンストラクタ public Record2(String sho, int n) { this.sho = sho; suu = (short)n; } //n番目表示としてオペレータ用で画面表示する public void display(int n) { System.out.printf("%4d番目レコード\n", n); System.out.printf("\t商品コード:%s\n", sho); System.out.printf("\t数量:%d\n", suu); } } |