A type that is defined as a class is a reference type. When a class variable of this type is declared at run time, the variable contains the value null until the creation of an instance of the class by using the new operator, or it is assigned to an existing object of a compatible type. When the object is created, enough memory is allocated for that specific object, and the variable holds only a reference to the location of the object