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不是同一个实例");
           }
    	}
    }
    

      

  • 相关阅读:
    数据结构 B/B+树
    Hadoop的目录结构
    安装JDK
    OSTEP-projects concurrency-webserver
    第二十四章(制作HTTP服务器端)学习笔记
    day4_生成小数的程序
    day4_用集合生成8位密码的程序
    day4_集合操作
    day3_homework
    day6_random模块的用法、break和continue
  • 原文地址:https://www.cnblogs.com/zsboy/p/4085576.html
Copyright © 2011-2022 走看看