zoukankan      html  css  js  c++  java
  • 设计模式--单例模式Singleton

    单例模式顾名思义整个程序下只有一个实例,例如一个国家只有一个皇帝,一个军队只有一个将军。
    单例模式的书写又分为饿汉模式和懒汉模式

    饿汉模式
       类中代码

    package demo;
    
    public class Singleton {
       //私有化构造函数
       private Singleton() {
       }
       
       //由于外部无法实例对象,顾在类中实例,定义为static将对象直接由类调用
       private static Singleton instance = new Singleton();
       
       //定义公有成员函数,以便访问私有化的实例
       public static Singleton getInstance(){
    	   return instance;
       }
       
    }
    

      主函数

    package demo;
    
    public class main {
    
    	public static void main(String[] args) {
    	   //定义两个实例
           Singleton s1 = Singleton.getInstance();
           Singleton s2 = Singleton.getInstance();
           if(s1==s2){
        	   System.out.println("s1与s2是同一个实例");
           }else{
        	   System.out.println("s1与s2不是同一个实例");
           }
    	}
    }
    

    懒汉模式
       类

    package demo;
    
    public class Singleton {
       //私有化构造函数
       private Singleton() {
       }
       
       //由于外部无法实例对象,顾在类中实例,定义为static将对象直接由类调用
       private static Singleton instance = null;
       
       //定义公有成员函数,以便访问私有化的实例
       public static Singleton getInstance(){
    	   if(instance==null){
    		   return new Singleton();
    	   }
    	   return instance;
       }
       
    }
    

      主函数

    package demo;
    
    public class main {
    
    	public static void main(String[] args) {
    	   //定义两个实例
           Singleton s1 = Singleton.getInstance();
           Singleton s2 = Singleton.getInstance();
           if(s1==s2){
        	   System.out.println("s1与s2是同一个实例");
           }else{
        	   System.out.println("s1与s2不是同一个实例");
           }
    	}
    }
    

      

  • 相关阅读:
    常用的系统存储过程
    考勤信息(员工打卡)
    项目经理评分(评价)
    体验套餐管理系统
    C#中简单的继承和多态
    面向对象的七个设计原则
    office 2010 安装时出错 MSXML版本6.10.1129.0
    phpstorm + Xdebug断点调试PHP
    wamp server 3.0.0 修改默认浏览器,软件语言和配置文件编辑器
    vue.js指令v-model实现方法
  • 原文地址:https://www.cnblogs.com/zsboy/p/4085576.html
Copyright © 2011-2022 走看看