The common theme is that these answers all have in common is that you are reassigning NULL to the object. Since we can't have one object reference (variable name) pointing to two different locations in the heap, the existing object is no longer needed, and therefore, can be flagged for garbage collection. Once you understand that, it is a matter of seeing which object is released (has null assigned to it) first in the order in which the statements will be executed. That's why it is . Better?