title: when is super() called in the below code
body: <p>Trying to understand when does the super() method called. In the below code, Child class has a no-argument-constructor with this(), so compiler cannot insert super(). Then how is parent constructor called.</p>
  
  <pre><code>public class Parent
  {
      public Parent()
      {
          System.out.println("In parent constructor");
      }
   }
  
  
  public class Child extends Parent
  {
  private int age;
  
  public Child()
  {   
      this(10);
      System.out.println("In child constructor with no argument");
  }
  
  public Child(int age)
  {
      this.age = age;
      System.out.println("In child constructor with argument");
  }
  
  public static void main(String[] args)
  {
      System.out.println("In main method");
      Child child = new Child();
  }
  
  }
  </code></pre>
  
  <p>Output :</p>
  
  <pre><code>In main method
  
  In parent constructor
  
  In child constructor with argument
  
  In child constructor with no argument
  </code></pre>