• 设计模式-单例模式


    这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

    这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

    注意:

    1、单例类只能有一个实例。

    2、单例类必须自己创建自己的唯一实例。

    3、单例类必须给所有其他对象提供这一实例。

    public class SingleObject {
     
       //创建 SingleObject 的一个对象
       private static SingleObject instance = new SingleObject();
     
       //让构造函数为 private,这样该类就不会被实例化  
       private SingleObject(){}
     
       //获取唯一可用的对象
       public static SingleObject getInstance(){
          return instance; 
       }
     
       public void showMessage(){
          System.out.println("Hello World!");
       }
    }

    或者

     public  class Singleton
            {
                //定义一个静态变量,指向Singleton实例
                private static Singleton _singleton = null;
                //私有构造函数,外部不能访问
                private Singleton()
                {
                    //初始化
                }
                public static Singleton GetInstance()
                {
                    //如果_singleton为null,创建一个Singleton对象,并将_singleton指向Singleton对象
    
                    if (_singleton == null)
                    {
                        _singleton = new Singleton();
                    }
                    return _singleton;
                }
                public void showMessage()
                {
                    Console.WriteLine("Hello World!"); 
                }
    
            }

    调用:

     //不可访问因为具有一定保护级别   构造函数 private() 
               // Singleton obj = new Singleton();
                Singleton obj  = Singleton.GetInstance();
                ////调用方法
                obj.showMessage();
                Console.Read();
  • 相关阅读:
    2019icpc上海站 打星体验,首次感想 D K代码
    P1983 车站分级 思维+拓扑排序
    POJ 2352 Stars Treap & 线段树
    POJ 2761 Feed the dogs 基础Treap
    POJ 1442 Black Box 基础Treap
    CodeForces R285 Div2
    HDU 5145 NPY and girls 莫队算法
    2014 上海赛区小结
    2014 牡丹江赛区总结
    HDU 5125 Magic Ball DP+树状数组
  • 原文地址:https://www.cnblogs.com/zeng-qh/p/10306579.html
Copyright © 2020-2023  润新知