//////////////////////////////////////////////////////////////////////////////// // << j211.java >> // // クラス(1):オブジェクト // // ●オブジェクト // // ・クラスはフィールドやメソッドを定義しているだけなので、データを保存する // ためには、記憶領域を確保する必要がある。確保された記憶領域のことをクラス // のオブジェクト(または、インスタンス)という。 // ・ひとつのクラスから複数のオブジェクトを作ることができる。 // // ●オブジェクトの作成 // // クラスを、Sampleとする。 // // Sample obj = new Sample(); // // ・予約語newで、クラスSampleのオブジェクトがメモリ上に生成される。 // Sample型の変数objには生成されたオブジェクトそのものではなく、 // オブジェクトのメモリ上での位置を示す値(アドレス)が格納される。 // このような変数objを参照型の変数という。 // // Sample obj; // obj = new Sample(); // // とも書ける。 // // (注意)int型やchar型など基本型の変数では、その型をもつ値が格納される。 // // ●オブジェクトのフィールド、メソッドへのアクセス // // ・ドット(.)を使って、 // // obj.変数名 // obj.メソッド名(引数) // // と書く。 // // ・前者でフィールドへの代入、参照が行われ、後者でメソッドの呼び出しが // 行われる。 // ・メソッドから戻り値があれば受け取る。 // ・引数がない場合、()とする。 // // ●オブジェクトの代入 // // ・オブジェクトを指す変数間で代入を実行すると、右辺の変数が指すアドレスが // 左辺の変数に代入され、両者は同一のオブジェクトを指すようになる。 // 左辺の変数が指していたオブジェクトは破棄される。 // // ・オブジェクトを指す変数にnullを代入すると、その変数はオブジェクトを // 指さなくなる。指されなくなったオブジェクトは適当なタイミングで破棄され、 // メモリ領域は再利用される。 // この仕組みをガーベッジコレクション(garbage collection)という。 // // ●オブジェクトの一致 // // ・2つの変数が指すオブジェクトが一致するかどうかをメソッド(equals)を使って // 知ることができる。一致する場合はtrueを返し、一致しない場合はfalseを返す。 // ////////////////////////////////////////////////////////////////////////////////