Это ваше начальное состояние:
+-----------------+ +----------------+
| box1 ( ref ) +------------>| box1 ( obj ) |
+-----------------+ +----------------+
+-----------------+ +----------------+
| box2 ( ref ) +------------>| box2 ( obj ) |
+-----------------+ +----------------+
+------------------+ +----------------+
| box3 ( ref ) +----------->| box3 ( obj ) |
+------------------+ +----------------+
Это то, что происходит после box1 = box2
:
+-----------------+ +----------------+
| box1 ( ref ) +----+ | box1 ( obj ) |
+-----------------+ | +----------------+
|
+-----------------+ +------> +----------------+
| box2 ( ref ) +------------>| box2 ( obj ) |
+-----------------+ +----------------+
+------------------+ +----------------+
| box3 ( ref ) +----------->| box3 ( obj ) |
+------------------+ +----------------+
Это то, что происходит после box2 = box3
+-----------------+ +----------------+
| box1 ( ref ) +----+ | box1 ( obj ) |
+-----------------+ | +----------------+
|
+-----------------+ +------> +----------------+
| box2 ( ref ) +----+ | box2 ( obj ) |
+-----------------+ | +----------------+
|
+------------------+ +------->+----------------+
| box3 ( ref ) +----------->| box3 ( obj ) |
+------------------+ +----------------+
Теперь вы должны выяснить, почему вывод такой.:)