在风格上,最好在构造函数中或在声明字段的位置初始化Java字段?例如:
public class Foo {
private final List<String> l;
public Foo() {
this.l = new LinkedList<String>();
}
}
......或
public class Foo {
private final List<String> l = new LinkedList<String>();
}
我通常偏爱前者,因为它看起来更清晰。但是,后者显然会产生更紧凑的代码。
答案 0 :(得分:4)
我的经验法则是:
如果
,请将其置于声明的位置否则,将它放在构造函数中。
通常我严格遵循官方Java编码约定。在这种特殊情况下,约定并没有说明任何内容,因此需要由每个程序员来决定。然而,无论如何,您可能希望与您的选择保持一致。
答案 1 :(得分:1)
如果你有多个构造函数,那么如果在初始化时没有初始化,则需要重复初始化(可能)。