• 设计模式--单例模式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不是同一个实例");
           }
    	}
    }
    

      

  • 相关阅读:
    暑假每周学习进度-7
    暑假每周学习进度-6
    寒假生活05
    寒假生活04
    寒假生活03
    寒假生活02
    寒假生活01
    软件设计师2019模拟小测
    第二周学习记录
    2019秋季学习计划
  • 原文地址:https://www.cnblogs.com/zsboy/p/4085576.html
Copyright © 2020-2023  润新知