黑马程序员技术交流社区

标题: 单例设计模式 [打印本页]

作者: 天雨云龙    时间: 2016-8-18 22:31
标题: 单例设计模式
//单例设计模式,解决对象只能有唯一一个的问题;
public class Demo01 {

        public static void main(String[] args) {
                //模式1验证
                TaiYang_1 s1 = TaiYang_1.getInstance();
                TaiYang_1 s2 = TaiYang_1.getInstance();
                System.out.println(s1==s2);//返回:true,说明s1和s2是指向同一个对象的,验证了对象的唯一性
               
                //模式2验证
                TaiYang_2 s3 = TaiYang_2.INSTANCE;
                TaiYang_2 s4 = TaiYang_2.INSTANCE;
                System.out.println(s3==s4);//返回:true,说明s3和s4是指向同一个对象,验证了对象的唯一性
        }
}
//演示单例设计模式的两种定义方式
class TaiYang_1{
        //自己new一个私有的该类对象,因为不让别人创建,故需要调用该类时,自己就创建好,使用静态
        private static TaiYang_1 INSTANCE = new TaiYang_1();
        //然后私有化构造方法
        private TaiYang_1(){}
        //提供获取该对象的方法,因为要返回静态的INSTANCE,故此方法定义为静态
        public static TaiYang_1 getInstance(){
                return INSTANCE;
        }
}
class TaiYang_2{
        //私有化构造方法
        private TaiYang_2(){}
        public static final TaiYang_2 INSTANCE = new TaiYang_2();
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2