OO conception of classes. Each new class creates a new type and must be descended from another. The new class is said to be derived from the existing class. The derived class is also called a subclass of the parent class which is also called the superclass .
Derivation is transitive.
Every class except Object has exactly one immediate superclass. If unspecified, the immediate superclass is assumed to be Object. A class should be thought of as a type. Casting Casting is supported between types and class types. Casting between sibling classes is a compile-time error.