gpt4 book ai didi

java - 内部类与静态内部类

转载 作者:行者123 更新时间:2023-12-01 23:12:29 24 4
gpt4 key购买 nike

我正在尝试使用内部类创建链表实现

package linkedlist;

public class linkedList {

public class Node
{
int data;
public Node next;
public Node(int k)
{
this.data = k;
this.next=null;
}

public Node addToHead(int data)
{
Node node = new Node(data);
Node current = this;
node.next=current;
return node;
}
}

public static void findn(Node head)
{
Node previous=head;
Node current = head;
int i =1;
while(current!=null)
{


if (i==6)
{
//System.out.println(current.data);
previous.next = current.next;
break;
}
previous=current;
current = current.next;
i++;

}

}


public static void main(String args[])
{
linkedList list = new linkedList();
linkedList.Node tail = linkedList.new Node(0);
// list.Node tail = list.Node(0);


Node head = tail;

for (int i=1;i<=20;i++)
{
head = head.addToHead(i);
}

findn(head);
while(head!=null)
{
System.out.println(head.data);
head = head.next;
}
}
}

我在主函数中的问题是尝试使用外部类创建一个节点。但即使我遵循正确的语法,语法也会给我带来错误。我想知道这个说法有什么问题 “linkedList.Node tail = linkedList.new Node(0);”

最佳答案

节点作为非静态内部类,需要其封闭类的实例linkedList 是类名。它不引用该类的实例。所以应该是这样

list.new Node()

如果您遵守 Java 命名约定,就会更清楚:变量以小写字母开头,类以大写字母开头。

关于java - 内部类与静态内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21662618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com