title: Should we always include a default constructor in the class?
body: <p>I have been asked this question by a colleague that should we always include a default constructor in a class? If so, why? If no, why not?</p>
  
  <p><em><strong>Example</strong></em></p>
  
  <pre><code>public class Foo {
  
      Foo() { }
  
      Foo(int x, int y) {
          ...
      } 
  
  }
  </code></pre>
  
  <p>I am also interested to get some lights on this from experts.</p>