In the debugger, lines of code are not executed until the 'pointer' steps over that particular line. So when the debugger stops on a line that instantiates an object, the field Value will be null. Null meaning that a field has been defined but has had nothing assigned to it.
Once the line executes, however, the field is now assigned to a Value of {ZooScenario.Zoo}, meaning an instance of that particular class. The ComoZoo field is now considered an object in memory.
If we expand the 'this.ComoZoo' object in the Autos Window, we can see that the object has all of the fields of the Zoo class.
Note that the ComoZoo object now has many fields that have their own Types. The Type column indicates what kind of 'thing' that field is. In this case, the Capacity field is of Type int and that FeaturedAnimal is of Type Animal. The differences between these types will be gone over in other articles, but what is important to note here is that the fields with Types that begin with ZooScenario have the capability of being instantiated as objects.
Currently the Value of these fields are assigned to their defaults because they have been defined but not assigned any values. The following image shows the ComoZoo object after it has had its fields assigned.