题目的主要信息:

  • Singleton类是单例的,每次调用该类的getInstance()方法都将得到相同的实例
  • 要使两次创建的实例相同,不考虑线程安全

具体做法:

在不考虑线程安全的前提下,我们都对于getInstance()方法都返回同一个实例就可以了。

alt

public class Main {

    public static void main(String[] args) {
        Singleton s1 = Singleton.getInstance();
        Singleton s2 = Singleton.getInstance();
        System.out.println(s1 == s2);
    }

}

class Singleton {

    private static Singleton instance;

    private Singleton() {

    }
    
    public static Singleton getInstance() { //创建单例对象
        return instance;
    }

}

复杂度分析:

  • 时间复杂度:O(1)O(1),直接创建,常数时间
  • 空间复杂度:O(1)O(1),无额外空间