主要三点:
1)外面不能实例化,

private Singleton(){ }
2)外面不能实例化的话,自己内部实例化一个(饿汉)

private static Singleton singleton = new Singleton();
3)给外面的所有人用(饿汉)

public Singleton getInstance(){ return singleton; }
饿汉模式,类初始化的时候实例就已经跟着实例化了(这里有一个知识点,静态全局变量是跟着类实例化的):

private static Singleton singleton = new Singleton()
懒汉模式,要调用方法的时候才实例化:

private static Singleton singleton = null; public static Singleton getInstance(){ if(singleton == null){ singleton = new Singleton(); } return singleton; }
主要参考自: Java设计模式之(一)------单例模式