重温设计模式

单例模式

最常用也是最实用的单例模式
笔记-设计模式-再学习


或者将实例化放到静态代码块里,本质都是一样
笔记-设计模式-再学习
饿汉式的单例模式,双重检测锁
笔记-设计模式-再学习
静态内部类的单例模式
笔记-设计模式-再学习
静态内部类的好处:
外部类加载的时候静态内部类不会被加载,只有在调用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

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

相关文章:

  • 2022-01-08
  • 2021-09-29
  • 2021-06-10
猜你喜欢
  • 2022-01-07
相关资源
相似解决方案