100 likes | 334 Views
In Java . . . Value Types and Reference Types. Value Types. Variables contain the values of primitive data types. Value Types. In Java, primitive data types such as int , float , double , char , and boolean are called value types
E N D
In Java . . . Value Types and Reference Types
Value Types Variables contain the values of primitive data types
Value Types • In Java, primitivedatatypes such as int, float, double, char, and boolean are called valuetypes • A variable of one of these types is a container for onevalue of its appropriatetype 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
Reference Types in Java Objects of Classes
Reference Types • A variable declared as a reference to an object of some class (either a built-inclass or a user-defined class) is a reference type • A referencevariableDOES NOTcontain 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 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