zoukankan      html  css  js  c++  java
  • 设计模式之单例模式(Singleton)

    单例模式

    单例模式分为饿汉式和懒汉式,通过构造方法私有化,类内部提供static方法获取实例化对象,这样不管外部如何操作永远都只有一个实例化对象

    饿汉式:

    class Singleton {
        private static final Singleton INSTANCE = new Singleton();
    
        private Singleton() {}
    
        public static Singleton getInstance() {
              return INSTANCE;
        }
    
        public void print() {
              System.out.println("singleton");
        }
    }
    
    public class SingletonDemo {
    
        public static void main(String[] args) {
              Singleton instance = null;
              instance = Singleton.getInstance();
              instance.print();
        }
    
    }
    
    特点:(立即加载)在系统加载类的时候就会自动提供Singleton类的实例化对象

    属性是在有实例化对象产生之后才会被调用的,如果外部无法产生实例化对象,那就可以用上static

    懒汉式:

    class Singleton {
        private static Singleton instance;
    
        private Singleton() {}
    
        public static Singleton getInstance() {
              if(instance == null){
                    instance = new Singleton();
              }
              return instance;
        }
    
        public void print() {
              System.out.println("singleton");
        }
    }
    
    public class SingletonDemo {
    
        public static void main(String[] args) {
              Singleton instance = null;
              instance = Singleton.getInstance();
              instance.print();
        }
    
    }
    
    特点:(延迟加载)在第一次使用的时候进行实例化对象处理
  • 相关阅读:
    Linux 添加环境变量
    postgresql 获取修改列的值
    5月30日周一上午
    周日5月29日
    2016年5月26日
    如何使用Gson(添加到项目里去)
    linux内核分析课程总结()待完善
    5月5日离散课笔记
    4月28日的离散课(还少了一部分)
    2016年4月29日
  • 原文地址:https://www.cnblogs.com/cnyl/p/13629819.html
Copyright © 2011-2022 走看看