Describe what happens when an object is created in Java ?
Several things happen in a particular order to ensure the object is constructed properly:
- Memory is allocated from heap to hold all instance variables and implementation-specific data of the object and its super classes. Implementation-specific data includes pointers to class and method data.
- The instance variables of the objects are initialized to their default values.
- The constructor for the most derived class is invoked. The first thing a constructor does is call the constructor for its super classes. This process continues until the constructor for java.lang.Object is called, as java.lang.Object is the base class for all objects in java. Before the body of the constructor is executed, all instance variable initializers and initialization blocks are executed.
- Then the body of the constructor is executed. Thus, the constructor for the base class completes first and constructor for the most derived class completes last.