Java 我们如何才能创造一个;节点";在节点类中键入fild?
堆栈实现。 如何在节点类中创建“节点”类型的fild?? 类型为“Node”的变量“first”如何包含类型为“Node”的fild? 谢谢你的帮助Java 我们如何才能创造一个;节点";在节点类中键入fild?,java,Java,堆栈实现。 如何在节点类中创建“节点”类型的fild?? 类型为“Node”的变量“first”如何包含类型为“Node”的fild? 谢谢你的帮助 public class Stack { private Node first = null; private class Node { String item; Node next; } public boolean isEmpty() { return first == null; } public void p
public class Stack
{
private Node first = null;
private class Node
{
String item;
Node next;
}
public boolean isEmpty()
{
return first == null;
}
public void push(String item)
{
Node oldFirst = first;
first = new Node();
first.item = item;
first.next = oldFirst;
}
public String pop()
{
String item = first.item;
first = first.next;
return item;
}
}Java通过引用(或指针)处理对象
给定此类的一个实例,其主体需要8字节内存(在32位机器上)。第一个4字节存储指向字符串的指针,下一个4字节指向另一个
节点对象(或null)。节点
是一个递归数据结构。假设你有一张清单。列表可以为空,也可以包含第一个元素和一个rest,其中rest也是一个列表
在堆栈
类中,您持有第一个节点
实例的引用。第一个实例由一个字符串值和对下一个节点的引用组成。首先,不容易理解一个类可以有同一个类的字段。但这是一个基本原则。也就是说,你有一个班上的人。一个人实例可以与其他人实例关联。就像父亲一样。然后,您自然会在类Person中包含一个字段父亲。父亲的类型是人。这不是魔法。这是建模类实例之间关联的唯一方法。这里唯一特别的是,这些是同一个类之间的关联,而不是两个不同的类之间的关联。完全不清楚您为什么认为这不起作用。我怀疑您应该将节点
设置为静态嵌套类……我不理解这个问题。如何-你有代码,对吗?代码是有效的,但我不明白你问为什么一个类可以有一个与类相同类型的属性?为什么这会是个问题?
class Node {
String value;
Node next;
}