经常见到有人写出下面这样的类变量初始化的代码:
public class A {
private int intA = 0;
private A objectA = null;
}
这样的做法是比较愚蠢的,理由是:系统在初始化一个对象的时候,在调用该类的构造方法之前,会对每个类变量做缺省的初始化,比如int赋值0、对象引用赋值null等。
上述代码在intA、objectA已经被系统初始化为0、null之后,又再次初始化为0、null(系统当然不知道你给的初始值跟他预设的一模一样),显然画蛇添足了。