thisキーワード

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