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.
Any help and explanation of why my usage is incorrect is appreciated.
public class Node<Key>{
private Key key;
private Node<Key> next;
public Node(){
this(null, this);
}
public Node(Key k){
this(k, this);
}
public Node(Key k, Node<Key> 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<Key> getNext(){return next;}
public void setNext(Node<Key> n){next = n;}
}