关于三个构造函数写法不一样的问题。

来源:4-1 什么是链表

CYW好好学习

2019-03-07

老师你第一个构造函数写成
public Node(E e,Node next){
this.e = e;
this.next = next;
}
第二个写成了
public Node(E e){
this(e,null)
}
第一个内部写成等式,另一个写成this括号,为什么要这样写?第二个可以写成
public Node(E e){
this.e=e;
this.next=null;
}
吗???

写回答

1回答

liuyubobobo

2019-03-07

当然可以啦:)


但是,我写成this的形式,复用性更强:)我的第二个构造函数,本质只是提供一个next有默认参数(null)的构造函数,所以,直接调用this,相当于直接调用第一个构造函数,只不过next传参为null而已。这样,如果我们的构造函数的逻辑需要修改,我只需要修改第一个构造函数就好了,第二个构造函数永远是第一个构造函数逻辑的基础上,next传null而已:)


当然了,我们这个构造函数没有那么复杂,不这样做没问题。你的写法完全正确:)


继续加油!:)

0
1
CYW好好学习
谢谢你,你回复有点快喔 :)
2019-03-07
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程