单例模式的构造方法访问权限
来源:1-1 课前必读(不看会错过一个亿)
LittleGoblin
2022-12-13
单例模式的设计是为了保证类有且只有一个,但是我发现即使构造函数不是private,也可以保证类有且只有一个。就是说,单例模式的条件只需要提供一个静态的方法就可以了,因为static修饰的属性只会被初始化一次。至于构造方法私有不私有根本就没关系吧?
这段程度运行后的结果:
model.User@28d93b30
model.User@28d93b30
写回答
1回答
-
geelylucky
2023-03-24
同学你好,上述代码如果多线程去调用getInstance()方法,可能存在线程安全问题,即有可能创建出多个对象,但是最后一次赋值的对象会给到user,这就违背了单例的原则。我们应该保证即使在多线程的情况下也要保证只能创建出一个对象;
00
相似问题