-1

在哪里初始化字段更好?在构造函数(var.1)声明(var.2)中?

变种。1

public class UtilWebLoading {
private int data;
private Context context;

public UtilWebLoading(Context context) {
    this.context = context;
    data = 100;
}
...
}

变种。2

public class UtilWebLoading {
private int data = 100;
private Context context;

public UtilWebLoading(Context context) {
    this.context = context;
}
...
}
4

2 回答 2

13

在变量中。1 上下文已启动,而在 var. 2 它将为空!使用第一个。

于 2012-07-09T13:14:54.927 回答
4

当我有足够的上下文时,我个人更喜欢初始化字段。例如,如果我有一个List字段,我通常会在声明时对其进行初始化(除非该类要求用户传递他们选择的实现),但如果我有一个需要传递大小的数组,我将被迫等待对于构造函数调用。

因此,在您的情况下,第二个片段没有足够的上下文来在声明时进行初始化Util,因为不Context存在有效成员。

于 2012-07-09T13:17:26.980 回答