作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用内部类创建链表实现
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/
我是一名优秀的程序员,十分优秀!