title: Cannot reference this before supertype constructor has been called
body: <p>I'm attempting to implement a circular queue class in Java. And in doing so I had to created a node class to group together elements and pointers to the next node. Being circular, the nodes need to be able to point to themselves. However when I go to compile the code below, the compiler (javac) is telling me I'm doing something wrong with my constructors (namely lines 5 and 8) giving the error of the question's namesake, and I cannot figure out why it isn't working. </p>
  
  <p>Any help and explanation of why my usage is incorrect is appreciated.</p>
  
  <pre><code>public class Node&lt;Key&gt;{
      private Key key;
      private Node&lt;Key&gt; next;
      public Node(){
          this(null, this);
      }
      public Node(Key k){
          this(k, this);
      }
      public Node(Key k, Node&lt;Key&gt; node){
          key = k;
          next = node;
      }
      public boolean isEmpty(){return key == null;}
      public Key getKey(){return key;}
      public void setKey(Key k){key = k;}
      public Node&lt;Key&gt; getNext(){return next;}
      public void setNext(Node&lt;Key&gt; n){next = n;}
  }
  </code></pre>