The name of the class is it's type. Fields are variables available to an instance of a class or Sub-class. All fields are initialized to 'void' when the object is created. Methods are function or procedures available to an instance of a class. Methods in addition to those defined by the class may be specified by an object when declared.
Objects are intances of a class.
They take up memory. Only an object may initialize its fields. And this is done with the 'with' statement in the object declaration. Objects can contain other objects. The declaration of a class or object implicitly creates a TYPE object of the same name.