我试图在java中从头开始实现linkedlist,我得到了以下错误

我试图在java中从头开始实现linkedlist,我得到了以下错误,java,compiler-errors,linked-list,static,Java,Compiler Errors,Linked List,Static,我已经在sublime文本上编写了代码&在命令提示符下,我得到了以下错误,并且我很难解决,我已经在类数据中实现了LinkedList类 错误:非静态变量无法从静态上下文引用此变量 LinkedList llist=新LinkedList(); ^ data.java:24:错误:不兼容的类型:无法将节点转换为data.LinkedList.Node llist.head=新节点(1); ^ data.java:27:错误:不兼容的类型:无法将节点转换为data.LinkedList.Node l

我已经在sublime文本上编写了代码&在命令提示符下,我得到了以下错误,并且我很难解决,我已经在类数据中实现了LinkedList类 错误:非静态变量无法从静态上下文引用此变量 LinkedList llist=新LinkedList(); ^ data.java:24:错误:不兼容的类型:无法将节点转换为data.LinkedList.Node llist.head=新节点(1); ^ data.java:27:错误:不兼容的类型:无法将节点转换为data.LinkedList.Node list.head.next=秒

public class data{ 
 class LinkedList {
       Node head;
   class Node{
            int data;
            Node next; 
            public void Node(int data ){
            this.data = data;
            next=null;
            }
          }
public LinkedList(){}
public void printList(){
    Node n = head;
    while(n != null){
        System.out.println(n.data+" ");
        n=n.next;}
}
}
public static void main(String[]args){
System.out.println("in main ");
LinkedList llist = new LinkedList();
llist.head = new Node(1); 
Node second=new Node(2);  
Node third=new Node(3);
llist.head.next=second;
second.next=third;
llist.printList();
}
}
  • 如果要从静态方法实例化内部类,请将其声明为静态:
    静态类链接列表
    静态类节点
  • 构造函数没有
    void
    返回类型:
    公共节点(int-data){…}
  • 限定内部类的内部类的名称:
    新建LinkedList.Node(…)
  • 正确缩进代码
  • 使用像Eclipse这样的IDE进行Java开发—它可以帮助您发现类似这些问题

  • 请帮助解决错误,我已经制作了一个类数据,并在其中实现了链表类
    public class data {
        static class LinkedList {
            Node head;
    
            static class Node {
                int data;
    
                Node next;
    
                public Node(int data) {
                    this.data = data;
                    next = null;
                }
            }
    
            public LinkedList() {
            }
    
            public void printList() {
                Node n = head;
                while (n != null) {
                    System.out.println(n.data + " ");
                    n = n.next;
                }
            }
        }
    
        public static void main(String[] args) {
            System.out.println("in main ");
            LinkedList llist = new LinkedList();
            llist.head = new LinkedList.Node(1);
            LinkedList.Node second = new LinkedList.Node(2);
            LinkedList.Node third = new LinkedList.Node(3);
            llist.head.next = second;
            second.next = third;
            llist.printList();
        }
    }