public class SingleInstance {
    /*
     * 恶汉式:开发中比较常用,没有线程安全问题 
        1.私有化构造函数,让外部不能直接创建对象 
        2.创建一个私有的静态的本类实例对象
        3.提供一个公共的静态的返回值类型是本类的一个方法
     
    private SingleInstance() {
    }
    private static SingleInstance instence = new SingleInstance();

    public static SingleInstance getInstance() {
        return instence;
    }*/

    /*
     * 懒汉式: 
        1.私有化构造函数,让外部不能直接创建对象9 
        2.声明一个私有的静态的本类类型的一个变量 
        3.提供一个公共的静态的返回值类型是本类的一个方法
     * 在方法内部返回当前实例对象的时候,要判断当前的实例变量是否有值
     */
    private SingleInstance() {

    }

    private static SingleInstance instence;

    public static SingleInstance getInstance() {
        if(null==instence)
            instence =new SingleInstance();
        return instence;
    }
}