A variable with type Object can hold any value. The set of no values is represented by the type Never , which is the subtype of all types. A function with the return type Never cannot return. A class is a template for creating similar values, often called objects or instances . These instances generally share characteristics such as common methods and properties.
Every class is also a type and a value.
When used as a type, a class represents the set of all possible instances of that class. A class C can be derived from a superclass S . Class C can then inherit characteristics of class S . The subclass relation imposes a hierarchy relation on the set of all classes. If multiple inheritance were allowed, the subclass relation would impose a partial order on the set of all classes.