Primitive values can be stored in variables directly. Objects, on the other hand, are stored as references . A variable that has been assigned an object does not store that object directly, it stores the memory address of the location that the object exists at.