Built-in arrays and strings. Classes All Java data and function definitions are organized into classes . Each class is a subclass of exactly one other class, except for the predefined class Object , which serves as the root of the object hierarchy. As usual, a class inherits the fields and methods of its parent class and of its interfaces, and can override the methods of its parent. Instance methods take the instance itself as an implicit parameter, which can be referred to via this .
Abstract classes have specifications but no associated code.
Class and member definitions have a variety of modifiers controlling things like access. Packages At the very top level, class definitions are organized into packages , each with a separate internal name space. Packages consist of class and interface definitions, and possibly subpackages. Package names are prepended to class or interface names to produce fully qualified names which are what appear in class files. Class Instances Class instances are essentially like records.