メソッド内でフィールド情報を指定する時、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);
	}
}		 |