Code in Java must be encapsulated in classes.
There are two kinds of values in Java: object references and atomic values of primitive types.
References denote objects that are created from classes.
Objects can only be manipulated via references.
Objects in Java cannot contain other objects; they can only have references to other objects.
Deletion of objects is managed by the runtime system.