Java双向链表初始化配置解析及构造函数疑问
双向链表Node类无参构造函数的作用解释
你代码里的public Node() {}是Node类的无参构造函数,作用如下:
- 它是创建Node实例的“入口”,你写
Node x = new Node();时,就是调用这个构造函数生成一个空的Node对象。 - 虽然它里面没有写任何执行代码,但显式声明它很有必要:如果类里没定义任何构造函数,Java会自动生成默认无参构造;但如果之后给Node类加了带参数的构造函数,默认的无参构造就会消失,到时候
new Node()的调用就会报错。提前写出来,既能明确代码意图,也能避免后续出现这种问题。 - 用这个构造函数创建出空节点后,你就可以在后续逻辑里给它的
item、next、prev属性赋值,把空节点转换成链表中有效的节点。
附上你的代码:
public class MyDeque { Node first = null; //instance variable, first is of type node and is set to null Node last = null; //instance variable, last is of type node and is set to null int N = 0; //keeping track of number of nodes static class Node { public Node() { } public int item; public Node next; //next is of type node public Node prev; //prev is of type node }
内容的提问来源于stack exchange,提问作者Aima
相关产品推荐
相关产品推荐

