关于单例模式,如何理解?

发布网友 发布时间:2022-04-24 01:44

我来回答

4个回答

热心网友 时间:2023-10-19 13:41

单例模式就是 :
1、类的构造函数为private,即外部程序不能通过new关键字创建对象的实例
2、类中提供一个private static的 类变量引用 ;
3、单例类中提供静态方法 定义为 public static 的方法获取一个类的实例 ;
4、静态方法返回 类的引用,即 第2点中的 私有 静态变量 。

私有静态变量可以 定义的时候初始化 ,也可以 在第一次使用的时候,即调用AA.getInstanc()方法中判断 静态变量是否为空在初始化 。

热心网友 时间:2023-10-19 13:42

你的单例类一的引用cm和单例类二的引用cm2实际上都指向了类EagerSingleton中的private static final EagerSingleton hungryman这个唯一的实例(这便是特点一:单例类只可有一个实例 ),即不管你创建再多的
EagerSingleton cm3=EagerSingleton.getInstance();
EagerSingleton cm4=EagerSingleton.getInstance();
......
其实cm3,cm4......他们都指向唯一的一个EagerSingleton类中的hungryman.即所有的单例类EagerSingleton的实例都是这个hungryman实例,明白了吗?

热心网友 时间:2023-10-19 13:42

单例 感觉 一般都是 私有化构造函数 然后提供一个方法来调用构造初始化
补充一点 上上面说的。。

热心网友 时间:2023-10-19 13:43

嗯,楼上的回答很好,可以设为答案了

热心网友 时间:2023-10-19 13:41

单例模式就是 :
1、类的构造函数为private,即外部程序不能通过new关键字创建对象的实例
2、类中提供一个private static的 类变量引用 ;
3、单例类中提供静态方法 定义为 public static 的方法获取一个类的实例 ;
4、静态方法返回 类的引用,即 第2点中的 私有 静态变量 。

私有静态变量可以 定义的时候初始化 ,也可以 在第一次使用的时候,即调用AA.getInstanc()方法中判断 静态变量是否为空在初始化 。

热心网友 时间:2023-10-19 13:42

你的单例类一的引用cm和单例类二的引用cm2实际上都指向了类EagerSingleton中的private static final EagerSingleton hungryman这个唯一的实例(这便是特点一:单例类只可有一个实例 ),即不管你创建再多的
EagerSingleton cm3=EagerSingleton.getInstance();
EagerSingleton cm4=EagerSingleton.getInstance();
......
其实cm3,cm4......他们都指向唯一的一个EagerSingleton类中的hungryman.即所有的单例类EagerSingleton的实例都是这个hungryman实例,明白了吗?

热心网友 时间:2023-10-19 13:42

单例 感觉 一般都是 私有化构造函数 然后提供一个方法来调用构造初始化
补充一点 上上面说的。。

热心网友 时间:2023-10-19 13:43

嗯,楼上的回答很好,可以设为答案了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com