To know how many object are actually created on HEAP, what i do is, I look out for the keyword "new". What ever no. of times the keyword "new" appears in the code, that is the actual number of objects that get created on Heap.
Thus in your example, since there are only 3 new keywords so there is no question of 4 objects getting created or coming to existence.
