////////////////////////////////////////////////////////////////////////////////
//  << j222b.java >>
//
//  クラス(2):スコープ(仮引数)
//
//  ・仮引数は、ローカル変数である。
//  ・仮引数とフィールド変数が同じ名前を持つとき、フィールド変数に
//   予約語thisを付けて区別する。
//
//  仮引数とフィールド変数が同じ名前を持つとき、フィールド変数に
//  予約語thisを付けて区別できることを確認する。
//
//  (1)仮引数aの参照。
//  (2)仮引数bの参照。
//  (3)インスタンス変数aの参照。
//  (4)クラス変数bの参照。
//  (5)オブジェクトobjの作成。
//
////////////////////////////////////////////////////////////////////////////////

class C {
  int a = 111; // インスタンス変数。
  static int b = 222; // クラス変数。
  void m(int a, int b) { // 仮引数a,bはローカル変数。
    System.out.println("(1)a = " + a); //(1)
    System.out.println("(2)b = " + b); //(2)
    System.out.println("(3)this.a = " + this.a); //(3)
    System.out.println("(4)this.b = " + this.b); //(4)
  }
}

class j222b {
  public static void main(String args[]) {

    C obj = new C(); //(5)

    obj.m(333,444);

  }

}
実行結果
% javac j222b.java
% java j222b
(1)a = 333
(2)b = 444
(3)this.a = 111
(4)this.b = 222