zoukankan      html  css  js  c++  java
  • 单例模式

        单例(singleton)模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。

      显然单例模式的要点有三个:
    一是某个类只能有一个实例;
    二是它必须自行创建这个实例;
    三是它必须自行向整个系统提供这个实例。
     
      从具体实现角度来说,就是以下三点:
    一是单例模式的类只提供私有的构造函数,
    二是类定义中含有一个该类的静态私有对象,
    三是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。
     
    public class SingletonClass{
        private static volatile SingletonClass instance=null;
        public static SingletonClass getInstance(){
                synchronized(SingletonClass.class){
                    if(instance==null){
                        instance=new SingletonClass();
                    }
                }
            return instance;
        }
        private SingletonClass(){}
    }

    另一种实现方式:

    public class BootTest {
        private static BootTest ourInstance = new BootTest();
    
        //这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义。
        public static BootTest getInstance() {
            return ourInstance;
        }
    
        //private 外部无法通过构造函数创建对象;
        // 从而也只能通过BootTest类来访问static的函数,来得到BootTest的实例对象
        private BootTest() {
        }
    }
  • 相关阅读:
    HDU 2100 LoveKey
    HDU 2111 Saving HDU
    HDU 2132 An easy problem
    PAT 甲级 1081 Rational Sum (数据不严谨 点名批评)
    LWIP内存管理
    LWIP带UCOS操作系统移植
    LWIP协议栈2-
    LWIP协议栈1
    掌握所有IO口的外部中断
    熟悉相关电路,控制I/O口,且配置相关参数,LED,光敏,74LS164数码管
  • 原文地址:https://www.cnblogs.com/yongwangzhiqian/p/6438395.html
Copyright © 2011-2022 走看看