What I still don't get though how does this call:
It is a little confusing, huh?
First there is a variable
n3 that contains an object reference.
n3 has a member (in this case a field) called
p which is also contains an object reference. This first
p has a member that is also called
p and it contains an object reference. The second
p has a member called
id with holds an integer value. That is what's printed.