如果将同步对象换成instance将会报空指针异常,为什么?
代码如下:
class ArraysTools {
/**
* 单利--懒汉模式 ①:将构造器私有化 ②:声明一个ArraysTools 实例对象instance,初始值为null;
* ③:对外提供一个公共的静态方法,并作同步,用来获得instance
*/
private static ArraysTools instance = null;
private ArraysTools() {
}
public static ArraysTools getInstatce() {
synchronized (ArraysTools.class) {//如果将同步对象换成instance将会报空指针异常,为什么?
if (instance == null) {
instance = new ArraysTools();
}
return instance;
}
} |