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

      

  • 相关阅读:
    Maven的使用--Eclipse在线安装Maven插件m2e
    Maven的使用--安装
    oracle 函数
    oracle dblink使用
    【JVM】应用CPU冲高问题
    【Git】git操作(转)
    【java】判断两个对象是否相等
    【JDK】JDK自带工具应用——堆分析
    【script】Github上的工具脚本useful-scripts
    【JWT】JWT实现用户认证(转)
  • 原文地址:https://www.cnblogs.com/zsboy/p/4085576.html
Copyright © 2011-2022 走看看