Value Types and Reference Types In Java . . . Value Types and Reference Types
Value Types Variables contain the values of primitive data types
Value types of variables contain their values In Java, primitive data types such as int, float, double, char, and boolean are called value types A variable of one of these types is a container for one value of its appropriate type counter price foundIt 7 5.99 false Value types of variables contain their values
Value Types Because a variable of a value type is a container for ONE value of the corresponding type, giving it a second value replaces the first value entirely with the second dependents 2 dependents 2 3
Reference Types in Java Objects of Classes
Reference Types A variable declared as a reference to an object of some class (either a built-in class or a user-defined class) is a reference type A reference variable DOES NOT contain the the object to which it refers – instead, it refers to that object (i.e., it points to that object) A reference variable is null (refers to nothing) until it is given an object for it to reference Actual Object Reference
Reference Types personA null personB null Called a shallow copy because only the reference is copied new creates an actual object of type Person initialized to Rachel Walling Rachel Walling personA personB Two different references now refer to a single actual object
Reference types Just as value types may only have one value at a time, reference types may only refer to one actual instance at a time Bob Smith After line 5 bob
Reference types As value types may only have one value at a time, reference types may only refer to one actual instance at a time Since nothing refers to this object now, it is destroyed (“garbage collected”) by Java Bob Smith bob Bob Jones After line 7