zoukankan      html  css  js  c++  java
  • 笔记-设计模式-再学习

    重温设计模式

    单例模式

    最常用也是最实用的单例模式


    或者将实例化放到静态代码块里,本质都是一样

    饿汉式的单例模式,双重检测锁

    静态内部类的单例模式

    静态内部类的好处:
    外部类加载的时候静态内部类不会被加载,只有在调用getInstance的时候才会创建类,这样就达到了懒加载的目的
    枚举单例

    public class User {
        //私有化构造函数
        private User(){ }
     
        //定义一个静态枚举类
        static enum SingletonEnum{
            //创建一个枚举对象,该对象天生为单例
            INSTANCE;
            private User user;
            //私有化枚举的构造函数
            private SingletonEnum(){
                user=new User();
            }
            public User getInstnce(){
                return user;
            }
        }
     
        //对外暴露一个获取User对象的静态方法
        public static User getInstance(){
            return SingletonEnum.INSTANCE.getInstnce();
        }
    }
    
    public class Test {
        public static void main(String [] args){
            System.out.println(User.getInstance());
            System.out.println(User.getInstance());
            System.out.println(User.getInstance()==User.getInstance());
        }
    }
    结果为true
    

    枚举类因为没有构造方法,所以枚举类不会被反射创建类

  • 相关阅读:
    项目总结
    个人博客
    个人博客
    个人博客
    个人博客
    个人博客
    个人博客
    个人博客
    个人博客
    浅谈Vue与swiper轮播图框架结合小案例
  • 原文地址:https://www.cnblogs.com/Baronboy/p/14691358.html
Copyright © 2011-2022 走看看