单例

1 什么是单例?

单例就是,一个类只有一个对象

2 怎样创建饿汉单例

  1. 构造方法私有化
  2. 在类的内部创建该类对象(需要的时候才创建对象)
  3. 提供一个静态方法对外提供该类实例,而且,方法同步

代码搞起来!

public class Test {
    //提供私有构造方法
    private Test(){

    }

    //需要才,加载创建
    private static Test instance = null;

    public synchronized static Test getInstance(){
        if (instance == null){
            instance = new Test();
        }
        return instance;
    }
}

3 饱汉单例

  1. 构造方法私有化
  2. 在类的内部创建该类对象(一开始就,创建对象)
  3. 提供一个静态方法对外提供该类实例
public class Test {
    //提供私有构造方法
    private Test(){

    }

    //一出来,就加载创建
    private static Test instance = new Test();
    
    public static Test getInstance(){
        return instance;
    }
}
原文地址:https://www.cnblogs.com/hellosiyu/p/13071298.html