This is because the "b" variable is an instance of class "a". If you notice where it was declared a b;, "a" is the type and "b" is the name. This is a great example of why one should use good names for everything. Situations such as these can become confusing.