Если у вас есть внутренний класс, и у вас есть тип переменной, такой же, то он будет иметь приоритет
Node current=head;
Это относится к закрытому внутреннему классу
В вашем основном методе
Node head=new Node(10)
это относится к другому классу
Чтобы решить эту проблему, один вариант, изменить имя внутреннего класса, другой вариант создать конструктор и скопировать все значения в этот объект
private class Node{
int data;
Node next;
public Node(mypackage.Node node) {
this.data = node.data;
this.next = node.next;
}
public Node(int data)
{
this.data=data;
this.next=null;
}
}
Затем измените отображаемую вами функцию на
Node current=new Node(head);
. В этом коде mypackage
предполагается как ваш собственный пакет или сторонняя библиотека