title: Why do we need a default no argument constructor in Java?
body: <p>Why do we need a default no argument constructor in many Java related APIs? Like as a general rule all java bean classes or entity classes (JPA etc) or JAX-WS implementation classes require a explicit no argument constructor.</p>
  
  <p>If by default Java provides a no argument constructor then why most of these standards require a explicit constructor?</p>