黑马程序员技术交流社区
标题:
接口实现类中成员变量问题
[打印本页]
作者:
joeywr
时间:
2015-8-21 21:48
标题:
接口实现类中成员变量问题
今天看了一下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等其他代码.........
}
这样做有什么好处呢?
作者:
小朱
时间:
2015-8-21 21:51
就看源码了啊 不错哦
作者:
joeywr
时间:
2015-8-22 11:03
总结了下
这个还是要看具体的类型,
例如基本类型 ,全局变量 int a; a的值默认为 0;
全部变量 String str;str的默认值为null;
static boolean flag; flag的默认值为false;
然后自己试了一下,查了下具体默认值
如果 只声明对象类型的引用,那引用指向 null
作者:
groij
时间:
2015-8-22 15:41
如果不把它们设置成相应的初始化值,而它们又要存在,那该设置成什么???
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2