Default constructor is automatically called after an object is created.
But in Java when we allocate memory using new operator i.e. classname obj = new classna
The process is basically:
this / super calls to other constructors) each level evaluating any arguments to the level above, but that's alljava.lang.Object constructor is executed first, then the direct subclass, etc. This is also when variable initializers are executed. (Prior to this, the variables have their default values of null etc.)newThe idea of a default constructor has no meaning at execution time. It's just a parameterless constructor which calls super() as far as the JVM is concerned.
The business about the constructor chain is exactly the same as it would be if these were methods with a first line which just chains to the next constructor along; it's just a stack of calls.