The language does not include any unsafe constructs, such as array accesses without index checking, since such unsafe constructs would cause a program to behave in an unspecified way. The language is written in the Unicode character set. Chapter 4 describes types, values, and variables. Types are subdivided into primitive types and reference types. Values of the primitive types do not share state.
Reference types are the class types, the interface types, and the array types.
The reference types are implemented by dynamically created objects that are either instances of classes or arrays. Many references to each object can exist. A predefined String class supports Unicode character strings. Classes exist for wrapping primitive values inside of objects. Variables are typed storage locations.