title: Can I define `default constructor` in Java?
body: <p>My question below is rather theoretical then practical.
  From many Java resources available online  I found out that a <code>default constructor</code> for a class has below specification:</p>
  
  <ol>
  <li>takes no arguments</li>
  <li>has no <code>throws</code> clauses</li>
  <li>has an empty body</li>
  </ol>
  
  <p>Java language <a href="http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8.9" rel="nofollow">specification</a> does not provide definition for <code>default constructor</code>, it only states that</p>
  
  <blockquote>
    <p>If a class (definition) contains no constructor declarations, then a default
    constructor is implicitly declared (by a compiler).</p>
  </blockquote>
  
  <p>Please notice that wording <code>implicitly declared</code> implies that the explicitly defined default constructor is possible. Lets consider below class:</p>
  
  <pre><code>public class Point {
    private int x;
    private int y;
  
    public int getX() { return x; } 
    public int getY() { return y; } 
  }
  </code></pre>
  
  <p>For this class the compiler will generate below default constructor:</p>
  
  <pre><code>public Point() {
    super();
  }
  </code></pre>
  
  <p>My question is, if I as a programmer would implement a constructor as <code>public Point() { }</code> could it be called a <code>default constructor</code> for above class Point? If not, then can any explicitly defined constructor be considered a <code>default constructor</code>? I appreciate the answer from somebody that is an expert or absolutely sure on this topic.</p>