the keyword in Java that allocates new objects and
initialises them. This is roughly the equivalent of C++’s new, C’s malloc or object Pascal’s
create. There is no corresponding free. However, you can speed the garbage collector
along by setting references to objects no longer needed to null. Let us say you
created a Dalmatian object a subclass of Dog with new
Dalmatian(). Here is the order of events:
Allocate space for all the fields of both Dog and Dalmatian.
Bulk zero all the space which effectively null/zeroes each Dog and Dalmatian
field as appropriate.
Do the member declaration initialisations of the Dog class to initialise the
Do the constructor initialisations of the Dog class. Watch out! The constructor
may use overridden methods that reference uninitialised Dalmatian fields.
Do the member declaration initialisations of the Dalmatian subclass to
initialise the Dalmatian fields.
Do the constructor initialisations of the Dalmatian subclass.