title: Does a parent class always need a default or no-argument constructor even if the child class already has a defined constructor?
body: <p>I cannot get this code to compile. </p>
  
  <pre><code>class Horse {
      private int age;
      Horse(int age) {
          this.age = age;
      }
  }
  
  class Pony extends Horse {
      private int age;
      Pony(int age) { //here compiler complains about no default constructor in parent class
          this.age = age;
      }
  }
  </code></pre>
  
  <p>I know you must define a constructor for a child class when the parent class only has constructors with parameters, and that is what I have done. However, the compiler complains that the parent class has no default constructor.</p>
  
  <p>Am I right to conclude that a parent class always needs a default or no-arg constructor? What if I want the parent and child class to only have constructors with parameters?</p>