== オブジェクトを沢山つなぐ ==
オブジェクトを沢山つなぐための方法を考えましょう。
----
=== 例1 ===
2つのオブジェクトを図のようにつなぐための処理を書きました。
 . {{attachment:chain4.png}}
その方法の1つは、別の変数 b を使って行うものでした。
 {{{#!java
	Chain a, b;

	a = new Chain();
	b = new Chain();
	...
	a.next = b;
	...
 }}}
この処理を追ってみましょう。

2つのインスタンスが作られた段階ではこのようになっています。
 . {{attachment:chain20.png}}
この後で
 {{{
	a.next = b;
 }}}
を行うと、2つのオブジェクトがつながります。
 . {{attachment:chain21.png}}
このように配置を変えても同じです。
 . {{attachment:chain22.png}}
変数 b が2つめのオブジェクトを指しているのを無視すれば、
変数 a に2のオブジェクトがつながったと見ることができます。
----
=== 例2 ===
では、このような状態のときに
 . {{attachment:chain23.png}}
代入
 {{{
	a.next = b;
 }}}
を行うとどうなるでしょうか。
 . {{attachment:chain24.png}}
のようにつながり、
変数 a の先に3のオブジェクトがつながりました。
----
=== 例3 ===
例2で
変数 b の先に沢山のオブジェクトがつながっているときでも、
同じ処理ができます。