单例模式

单例设计模式是24种设计模式中用得还是比较多的一种设计模式吧!非常有用,一定要掌握
单例就是某个类只允许有一个实例对象的存在,写单例要注意几点规则:
    1.构造函数为private
    2.有一个static的private的该类变量,在类初始化时实例化
    3.一个public的getInstance方法获取对它的引用,继而调用其中的方法

 

文字太抽象,还是代码清楚点吧,写单例有三种方法:
    第一种:饿汉模式:无论什么时候先建立
public class SingleTon {
        private SingleTon(){
                }       
        private final static SingleTon instance = new SingleTon();
        public static SingleTon getInstance(){
                return instance;
        }
}
第二种:懒汉模式 :
是在你真正用到的时候才去建这个单例对象,用synchronized 是为了防止多线程同步可能会造成生成多个实例,一般用饿汉模式
public class SingleTon {
        private SingleTon(){}
       
        private static instance = null;
       
        public static synchronized SingleTon getInstance(){
                if(instance == null)
                        instance = new SingleTon();
                return instance;
        }
}
第三种:用枚举,这是java5中的新特性哦!
        public enum SingleTon{
                ONE;
        }

你可能感兴趣的:(java,设计模式,多线程,null,Class)