////////////////////////////////////////////////////////////////////////////////
//  << j211b.java >>
//
//  クラス(1):オブジェクト(メンバへのアクセス)
//
// ●オブジェクトのメンバへのアクセス。
//
//  フィールドへの参照と代入、メソッドの呼び出しを確認する。
//
//  (1)オブジェクトobjの作成。
//  (2)フィールドobj.nの参照。
//  (3)フィールドobj.nに代入。
//  (4)フィールドobj.nの参照。
//    (5)メソッドm(3)の呼び出し。
//    (6)メソッドm(4)の呼び出し。
//    (7)オブジェクトobjの破棄。
//
////////////////////////////////////////////////////////////////////////////////

// クラス(C)の定義。
class C { 
  int n = 0; // フィールドの定義。
  int m(int a) { // メソッド(m)の定義。 
    return 2*a;
  }
}

// クラス(j211b)の定義。
class j211b { 

  public static void main(String args[]) {
    
    C obj = new C(); //(1)

    System.out.println("(2)obj.n = " + obj.n); //(2)
    
    obj.n = 111; //(3)
    
    System.out.println("(4)obj.n = " + obj.n); //(4)

    int k = obj.m(3); //(5)

    System.out.println("(5)k = " + k); 

    System.out.println("(6)obj.m(4) = " + obj.m(4)); //(6)

    obj = null; //(7)
    
    // 次の2つの実行文は、objがオブジェクトを指さなくなるのでエラーになる。
    // obj.n; 
    // obj.m(5);
 
  }

}
実行結果
% javac j211b.java
% java j211b
(2)obj.n = 0
(4)obj.n = 111
(5)k = 6
(6)obj.m(4) = 8