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