#### 1.定义类 Car

#### 2. 定义类 Engine

#### 3. 定义类 A

#### 4. 定义类 B

#### 5. 定义类 C

#### 6. 定义类 D

#### 7. 定义类 E

#### 8. 定义类 ReachableReferencesDemo

#### 9. 添加 main（）方法

#### 10.创建 Car 对象实例并将引用传递给 c

#### 11.创建 Car 对象实例

#### 12.创建 A 对象实例

#### 13.创建 D 对象实例并将引用传递给 d

#### 14.根据 d 创建 E 对象实例

说明：只有第一个 Car 对象 (被 c 引用) 和 D 对象 (被 d 引用) 是可以到达的。

训练代码： ReachableReferencesDemo.java

// 演示可到达的对象引用

class Car

{

private Engine e = new Engine ();

}

class Engine

{

}

class A

{

private B b = new B (this);

}

class B

{

private C c;

B (A a)

{

c = new C (a);

}

}

class C

{

private A a;

C (A a)

{

this.a = a;

}

}

class D

{

}

class E

{

private D d;

E (D d)

{

this.d = d;

}

}

class ReachableReferencesDemo

{

public static void main (String [] args)

{

Car c = new Car ();

new Car ();

new A ();

D d = new D ();

new E (d);

// 这里需要注意的是，只有第一个 Car 对象 (被 c 引用)

// 和 D 对象 (被 d 引用) 是可以到达的。

}

}