gpt4 book ai didi

java - 没有参数的私有(private)构造函数的目的是什么?

转载 作者:行者123 更新时间:2023-11-29 04:49:57 24 4
gpt4 key购买 nike

我正在尝试练习代码分析并注意到在下面的代码片段中有一个没有参数的构造函数(它是私有(private)的)。整个代码背后的目的是什么?

public class Wit {

public static Wit instance = null;
private Wit() {
}


public static Wit getInstance() {
if (instance ==null){
instance = new Wit();
}
return instance;
}
}

最佳答案

这是在 singleton pattern 之后,通过将其默认构造函数设为私有(private)并在内部处理实例化,确保一个类只能有一个实例。

但是,在您的示例中,通过公开非最终 instance 变量打破了单例保证。任何人都可以将引用设置为 null,从而在下一次调用 getInstance() 时创建另一个实例。

关于java - 没有参数的私有(private)构造函数的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35836315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com