java基础:成员变量在赋值前先置空?该怎么解决

java基础:成员变量在赋值前先置空?
今天看了一下commons-logging的源码,看到Log接口的实现类的时候,发现一个问题,在这些实现类的构造方法中,为成员变量name和logger赋值之前,都会先把它们置为null。以Log4JLogger为例吧:

public class Log4JLogger implements Log, Serializable {
private transient Logger logger;
private String name;
public Log4JLogger() {
logger = null;
name = null;
}

public Log4JLogger(String name) {
logger = null;
this.name = null;
this.name = name;
logger = getLogger();
}

public Log4JLogger(Logger logger) {
this.logger = null;
name = null;
name = logger.getName();
this.logger = logger;
}
//.......getter、setter等其他代码.........
}

这么做有什么好处么?
------解决方案--------------------
这个看具体的类型了,
例如基本类型 ,全局变量  int a;   a的值默认为 0;
                            全部变量 String str;str的默认值为null;
                            static boolean flag;   flag的默认值为false;
------解决方案--------------------
基本类型的数据,你可以自己试一下,看到底默认值是什么
如果 只声明对象类型的引用,那引用指向 null
------解决方案--------------------
这个问题可以分开考虑
像下面这样的代码,完全没有必要写成两行,直接写成this.name = name;就可以了
this.name = null;
this.name = name;

而下面的代码,依赖于getLogger这个方法的具体实现
比如getLogger中发生了Exception,主程序中处理异常的代码中可以判断一下logger是否为null,如果不为null也许得做一些关闭文件的操作才能最终终止程序,这个时候null的设定就有一些用了,不会保留上一次运行的结果
logger = null;
logger = getLogger();
------解决方案--------------------
确实没意义。。。
------解决方案--------------------
引用:
这个问题可以分开考虑
像下面这样的代码,完全没有必要写成两行,直接写成this.name = name;就可以了
this.name = null;
this.name = name;

而下面的代码,依赖于getLogger这个方法的具体实现
比如getLogger中发生了Exception,主程序中处理异常的代码中可以判断一下logger是否为null,如果不为null也许得做一些关闭文件的操作才能最终终止程序,这个时候null的设定就有一些用了,不会保留上一次运行的结果
logger = null;
logger = getLogger();

抛异常了,写一行还是分开写都是null吧?
------解决方案--------------------
猜测有可能是编码习惯吧
------解决方案--------------------
引用:
这个问题可以分开考虑
像下面这样的代码,完全没有必要写成两行,直接写成this.name = name;就可以了
this.name = null;
this.name = name;

而下面的代码,依赖于getLogger这个方法的具体实现
比如getLogger中发生了Exception,主程序中处理异常的代码中可以判断一下logger是否为null,如果不为null也许得做一些关闭文件的操作才能最终终止程序,这个时候null的设定就有一些用了,不会保留上一次运行的结果
logger = null;
logger = getLogger();

他这是在构造器给成员赋值默认的初始值,没看到有什么意义,写代码的习惯而已吧。
------解决方案--------------------
这里的name和Log4JLogger()是String类型和transient类型,都是属于引用类型变量,所以在构造函数的初始化中,被设置为null