////////////////////////////////////////////////////////////////////////////////
// << 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