当我用Java编写一个类时,我喜欢初始化直接设置为默认值的属性和由构造函数中的调用者设置的属性,如下所示:
public class Stack<E> {
private List<E> list;
private int size = 0;
public Stack(int initialCapacity) {
list = new ArrayList<E>(initialCapacity);
}
// remainder omitted
}
Run Code Online (Sandbox Code Playgroud)
现在假设我有一个Tree类:
public class Tree<E> {
private Node<E> root = null;
// no constructor needed, remainder omitted
}
Run Code Online (Sandbox Code Playgroud)
我应该将root属性设置为null,以标记它默认设置为null,还是省略null值?
编辑:
在阅读了LinkedList和ArrayList的源代码之后我想出了这个想法,它们都明确地将它们的属性(LinkedList中的大小和ArrayList中的firstIndex/lastIndex)设置为0.
Ste*_*n C 11
有没有必要为参考类型的属性明确初始化null.默认情况下,它将初始化为null.同样,基元类型有默认的初始化规则:
false,和char)float和double属性都被初始化为零.因此,size示例中的初始化也是严格不必要的.
因此,无论您是否进行初始化,这都是一种风格问题.我个人认为它不会提高可读性,因此浪费时间.(我不会编写我的代码,由不了解Java基础知识的人维护...)
| 归档时间: |
|
| 查看次数: |
2993 次 |
| 最近记录: |