把接口设为null ,这是什么意思.

把接口设为null ,这是什么意思.

问题描述:

public ICommonDao commonDao = null;

/**
 * 获取所有数据库表
 * 
 * @return
 */
public List<DBTable> getAllDbTableName() {
    return commonDao.getAllDbTableName();
}

在公司看到如上代码, 把接口设为null ,但是还是可以调用接口的方法 ,这是为什么. 有什么含义.

ICommonDao这是一个数据库接口,在大型项目当中可能要连接多个数据库类型,定义为接口的话,可以在运行的时候通过外部进行注入。然后在操作数据库。为null是在一开始不确定接口实现类型

其他他初始化是系统会设置为null,写明是个好的习惯,因为有的类型,系统初始化时,不一定是你想要的值,这样明确写出,可以错误一些错误发生,可以准确的判断是否为null

只是设置了初始化的值,不写也行,当然最好还是写上,这样不容易出错