就我所研究的而言,我们使用类的构造函数创建了一个类的实例。
ClassName obj=new ClassName(parameters);
但是我遇到了一个尝试使用以下类ChainNode
在Java中描述链接列表的程序class ChainNode
{
Object element; //What does this mean?
ChainNode nxt;
ChainNode(Object element)
{
this.element=element;
}
ChainNode(Object elem, ChainNode nxt)
{
this.element=elem;
this.next=nxt;
}
}
答案 0 :(得分:0)
您的第一个陈述是正确的,也适用于ChainNode
类。您在ChainNode
类定义中看到ChainNode
成员变量的原因是LinkedList结构:列表中的 ith 项指向(i + 1)项目。类中的ChainNode
只是说每个ChainNode
对象引用另一个ChainNode
对象。
因此,在这种情况下,您可以像这样定义您的ChainNodes:
ChainNode node2 = new ChainNode("Item 2");
ChainNode node1 = new ChainNode("Item 1", node2);
请注意我们何时制作node1
,我们将node2
作为下一个参考传递。另请注意,如果您未传递node2的下一个引用,则默认为null
。我们现在有一个基本的链表:
"节点1" - > "节点2" - >空
答案 1 :(得分:0)
Object是我们在java中定义的所有类的父类。简单来说,语句"对象元素;"类似于" String abc"。
就像我们将abc定义为String一样,我们定义了一个Object类型的元素。由于Object(带有大写字母O)是Java中所有其他类的超类,因此任何类的对象和任何其他对象都可以分配给元素。
例如:
Object element;
element = studentObject;
element = ArrayListObject;
因此,在您的示例中,您必须通过传递任何其他类的对象来调用子类中的ChainNode构造函数,可能类似于'节点'在实现链表时要上课。
Object element; //What does this mean?
ChainNode nxt;
ChainNode(Object element)
{
this.element=element;
}