单例设计模式

Posted ffeiyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例设计模式相关的知识,希望对你有一定的参考价值。

饿汉式:

 1 public class Singleton {
 2     // 直接创建对象
 3     public static Singleton instance = new Singleton();
 4 
 5     // 私有化构造函数
 6     private Singleton() {
 7     }
 8 
 9     // 返回对象实例
10     public static Singleton getInstance() {
11         return instance;
12     }
13 }

懒汉式:

 1 public class Singleton {
 2     // 声明变量
 3     private static volatile Singleton singleton = null;
 4 
 5     // 私有构造函数
 6     private Singleton() {
 7     }
 8 
 9     // 提供对外方法
10     public static Singleton getInstance() {
11         if (singleton == null) {
12             synchronized (Singleton.class) {
13                 if (singleton == null) {
14                     singleton = new Singleton();
15                 }
16             }
17         }
18         return singleton;
19     }
20 
21 }

 

以上是关于单例设计模式的主要内容,如果未能解决你的问题,请参考以下文章

常用代码片段

性能比较好的单例写法

片段作为 Android 中的单例

单例片段或保存网页视图状态

从 Viewpager2 片段访问父片段函数

你熟悉的设计模式都有哪些?写出单例模式的实现代码