单例设计模式

Posted yz-bky

tags:

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

单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。

通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例

通常单例模式在Java语言中,有两种构建方式:

 

  • 懒汉方式:指全局的单例实例在第一次被使用时构建
  • 饿汉方式:指全局的单例实例在类装载时构建

package com.bdqn.cn.dao;
/*
 *     单例模式主要是为了避免因为创建多个实例造成资源浪费,且多个实例由于多次调用
 *     容易导致结果出现错误,而使用单例模式能够保证整个应用中有且只有一个实例
 * 
 *     静态的特点:
 *         1、静态访问静态不能访问非静态
 *         2、静态修饰的方法和属性可以被类名直接访问
 * 
 */
//饿汉式
class Single1{
    private static Single1 INSTANCE=new Single1();
    private Single1(){};
    public static Single1 getInstance()
    {
        return INSTANCE;
    };
};


//懒汉式
class Single2{
    private static Single2 INSTANCE=null;
    private Single2(){};
    public static Single2 getInstance()
    {
        if(INSTANCE==null)
        {
            INSTANCE=new Single2();
        };
        return INSTANCE;
    };
}
public class danli {
    public static void main(String[] args) {
        Single1 s1 = Single1.getInstance();
        Single1 s2 = Single1.getInstance();
        System.out.println(s1==s2);
  } 
}

 

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

常用代码片段

性能比较好的单例写法

片段作为 Android 中的单例

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

从 Viewpager2 片段访问父片段函数

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