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

    主要知识点:

    1.将类的构造方法私有化.(private)

    2.在内部产生该类的实例化对象,将其封装成private static.

    3.定义一个静态方法返回该类的实例.

    package checksingle;
    
    public class SingleClass {
        //饿汉
        //私有的构造方法
        private  SingleClass() {}
        //将自身的实例化对象设置为属性,用static和final修饰
        private static final SingleClass instance =  new SingleClass();
        //静态方法返回该类的实例
        public static SingleClass getInstance(){
            return instance;
        }
    }

    懒汉式:synchronized,避免多线程访问

    public class SingleClass2 {
        // 懒汉式,节约内存
        // 私有的构造方法防止其通过new创建对象
        private SingleClass2() {}
        // 将自身的实例化对象设置为属性,用static和final修饰
        private static SingleClass2 instance;
        // 静态方法返回该类的实例
        public static synchronized  SingleClass2 getInstance() {
            if (instance == null) {
                instance = new SingleClass2();
            }
            return instance;
        }
    }
  • 相关阅读:
    判断一个大于1的数是不是一个素数
    luogu P3241 [HNOI2015]开店
    换根DP
    CF1187E Tree Painting
    luogu P3345 [ZJOI2015]幻想乡战略游戏
    费用流
    FZOJ 4112 脱单计划
    计数DP
    FZOJ 4109 青青草原的表彰大会
    状压DP
  • 原文地址:https://www.cnblogs.com/huike/p/6561169.html
Copyright © 2011-2022 走看看