Found it!!!
In a nutshell: you refer a1 to an A with value "A1" and an otherA with value "A2". Same goes for a2 (A2 & A3) and a3(A3 & A1).
In the for-loop you ask of a0 to refer to the otherA value of the A it is referring to, thus creating a loop. If you increase the maxvalue of i in the for-statement (ie to 9), you'll see A1A2A3A1A2A3A1A2A3A1A2A3, the last A1A2A3-cycle always being created by finalize() (due to the garbage collection).
Am I right? It may be that I still mix-up terminologies, for that I apologize. (This is only my 7� week of
Java...)
[ October 27, 2004: Message edited by: Eric Zanders ]